import type { App } from "../../core/app.js";
import { Command } from "../../tools/cli/command.js";
import { automigrateOnCollectionChange } from "./automigrate.js";
export { TemplateLangGo, TemplateLangJS } from "./templates.js";
export type Config = {
    Dir?: string;
    dir?: string;
    Automigrate?: boolean;
    automigrate?: boolean;
    TemplateLang?: string;
    templateLang?: string;
};
export declare function MustRegister(app: App, rootCmd: Command | null, config: Config): void;
export declare function Register(app: App, rootCmd: Command | null, config: Config): Error | null;
export declare class MigrateCmdPlugin {
    app: App;
    config: Config;
    constructor(app: App, config: Config);
    createCommand(): Command;
    migrateCreateHandler(template: string, args: string[], interactive: boolean): Promise<{
        fileName: string;
        error: Error | null;
    }>;
    migrateCollectionsHandler(args: string[], interactive: boolean): Promise<{
        fileName: string;
        error: Error | null;
    }>;
    automigrateOnCollectionChange(e: Parameters<typeof automigrateOnCollectionChange>[1]): Promise<Error | Response | null>;
}
