interface Module {
    load: (...args: any[]) => Promise<void>;
    forward: (...args: any[]) => Promise<any>;
    delete: () => void;
}
interface ModuleConstructor<M extends Module> {
    new (): M;
}
export declare const useNonStaticModule: <M extends Module, LoadArgs extends Parameters<M["load"]>, ForwardArgs extends Parameters<M["forward"]>, ForwardReturn extends Awaited<ReturnType<M["forward"]>>>({ module, model, preventLoad, }: {
    module: ModuleConstructor<M>;
    model: LoadArgs[0];
    preventLoad?: boolean;
}) => {
    error: string | null;
    isReady: boolean;
    isGenerating: boolean;
    downloadProgress: number;
    forward: (...input: ForwardArgs) => Promise<ForwardReturn>;
};
export {};
//# sourceMappingURL=useNonStaticModule.d.ts.map