type SendFunc = (event: string, data: any[]) => void;
type HMRClient = {
    send: SendFunc;
};
type ViteDevServer = {
    ws: {
        send: SendFunc;
        on: (event: string, cb: (msg: {
            loadID: string | null;
        }, client: HMRClient) => void) => void;
    };
    moduleGraph: any;
};
declare class Plugin {
    #private;
    name: string;
    constructor(configPath: string);
    configResolved: (config: {
        env: {
            DEV?: boolean;
        };
        root: string;
    }) => Promise<void>;
    configureServer: (server: ViteDevServer) => void;
    handleHotUpdate: (ctx: {
        file: string;
        server: ViteDevServer;
        timestamp: number;
    }) => Promise<any[]>;
    resolveId: (source: string, importer?: string) => string;
    load: (id: string) => string;
    transform: {
        order: "pre";
        handler: (code: string, id: string) => Promise<{
            code?: string;
            map?: any;
        }>;
    };
}
export declare const wuchale: (configPath?: string) => Plugin;
export {};
//# sourceMappingURL=index.d.ts.map