import ts from 'typescript';
export interface Config {
    /**
      Disable plugin path resolving for given paths keys
      @default undefined
    */
    exclude?: string[] | undefined;
    /**
     * Disable path rewriting for generated d.ts
     *
     * @default false
     */
    disableForDeclarations?: boolean;
    /**
     * Try to load min.js and .js versions of each mapped import: for use ts without bundler
     * @default false
     */
    tryLoadJs?: boolean;
}
export declare const defaultConfig: Config;
declare type FileExists = Partial<Pick<ts.ModuleResolutionHost, 'fileExists'>>;
export declare type EmitHost = FileExists;
export declare type Program = ts.Program & FileExists;
export declare type TransformationContext = ts.TransformationContext & {
    getEmitHost?: () => EmitHost;
};
declare type ExtractElement<T> = T extends Array<unknown> ? T[number] : T;
export declare type CustomTransformer = {
    [Key in keyof ts.CustomTransformers]: ExtractElement<ts.CustomTransformers[Key]>;
};
export {};
