import type { RegisterOptions as TSNodeRegisterOptions } from "ts-node";
import type { ITSConfigFn, PublicOpts, IGatsbyPluginDef } from "./public";

export type PropertyBag = Record<string, any>;
export type ValidExts = ".js" | ".ts" | ".jsx" | ".tsx";
export type RegisterType = "ts-node" | "babel";
export type GatsbyConfigTypes = "config" | "node" | "browser" | "ssr"
export type ConfigTypes =  GatsbyConfigTypes | "plugin";
export type EndpointResolutionSpec = GatsbyConfigTypes | {
    type: GatsbyConfigTypes;