import { RollupOptions } from 'rollup';
import { KTBuilderOption } from './lib/options/KTBuilderOptions';
import { UserConfig } from 'vite';
export interface PonyfillItem {
    find: string;
    replace: string;
    inject: string;
}
type OptionTypeToTsType<T extends KTBuilderOption['type'], D = undefined> = T extends 'string' ? string : T extends 'boolean' ? boolean : T extends 'array' ? string[] : never;
export type BuildOptions = {
    [K in KTBuilderOption['name']]: Extract<KTBuilderOption, {
        name: K;
    }> extends infer O ? O extends {
        type: infer T;
        default: infer D;
    } ? T extends KTBuilderOption['type'] ? OptionTypeToTsType<T> : never : O extends {
        type: infer T;
    } ? T extends KTBuilderOption['type'] ? OptionTypeToTsType<T> | undefined : never : never : never;
};
export declare const defaultBuildOptions: Partial<BuildOptions>;
export type DependencyRule = (options: Partial<BuildOptions>) => Partial<BuildOptions>;
export interface ExtendedViteConfig extends UserConfig {
    extendScriptConfig?: any;
}
export interface ViteEsConfig {
    build: () => Promise<void>;
    watch: () => void;
    config: RollupOptions;
}
export {};
