import { Controller, type ControllerCallContext } from './Controller.js';
import { FileContentService } from '../../../utils/FileContentService.js';
import { UserConfigService } from '../../google_folder/UserConfigService.js';
import { FolderRegistryContainer } from '../../folder_registry/FolderRegistryContainer.js';
import { ContainerEngine } from '../../../ContainerEngine.js';
export interface ConfigBody {
    config: {
        remote_branch: string;
        config_toml?: string;
        transform_subdir?: string;
        rewrite_rules_yaml?: string;
        preview_rewrite_rule?: string;
        companion_files_rule?: string;
        hugo_theme: HugoTheme;
        auto_sync: boolean;
        use_google_markdowns: boolean;
        fm_without_version: boolean;
        actions_yaml?: string;
    };
    remote_url: string;
}
export interface HugoTheme {
    id: string;
    name: string;
    url: string;
    preview_img: string;
}
export declare class ConfigController extends Controller {
    private readonly filesService;
    private folderRegistryContainer;
    private engine;
    constructor(subPath: string, filesService: FileContentService, folderRegistryContainer: FolderRegistryContainer, engine: ContainerEngine);
    returnConfig(userConfigService: UserConfigService): Promise<{
        config: {
            rewrite_rules_yaml: any;
            remote_branch: string;
            hugo_theme?: HugoTheme;
            config_toml?: string;
            transform_subdir?: string;
            use_google_markdowns?: boolean;
            auto_sync?: boolean;
            fm_without_version?: boolean;
            actions_yaml?: string;
            rewrite_rules?: import("../../../odt/applyRewriteRule.js").RewriteRule[];
            preview_rewrite_rule?: string;
            companion_files_rule?: string;
        };
        public_key: string | null;
        hugo_themes: any;
    }>;
    getConfig(ctx: ControllerCallContext): Promise<{
        remote_url: string | null;
        config: {
            rewrite_rules_yaml: any;
            remote_branch: string;
            hugo_theme?: HugoTheme;
            config_toml?: string;
            transform_subdir?: string;
            use_google_markdowns?: boolean;
            auto_sync?: boolean;
            fm_without_version?: boolean;
            actions_yaml?: string;
            rewrite_rules?: import("../../../odt/applyRewriteRule.js").RewriteRule[];
            preview_rewrite_rule?: string;
            companion_files_rule?: string;
        };
        public_key: string | null;
        hugo_themes: any;
    }>;
    putConfig(ctx: ControllerCallContext): Promise<{
        remote_url: string | null;
        config: {
            rewrite_rules_yaml: any;
            remote_branch: string;
            hugo_theme?: HugoTheme;
            config_toml?: string;
            transform_subdir?: string;
            use_google_markdowns?: boolean;
            auto_sync?: boolean;
            fm_without_version?: boolean;
            actions_yaml?: string;
            rewrite_rules?: import("../../../odt/applyRewriteRule.js").RewriteRule[];
            preview_rewrite_rule?: string;
            companion_files_rule?: string;
        };
        public_key: string | null;
        hugo_themes: any;
    }>;
    regenerateKey(ctx: ControllerCallContext): Promise<{
        remote_url: string | null;
        config: {
            rewrite_rules_yaml: any;
            remote_branch: string;
            hugo_theme?: HugoTheme;
            config_toml?: string;
            transform_subdir?: string;
            use_google_markdowns?: boolean;
            auto_sync?: boolean;
            fm_without_version?: boolean;
            actions_yaml?: string;
            rewrite_rules?: import("../../../odt/applyRewriteRule.js").RewriteRule[];
            preview_rewrite_rule?: string;
            companion_files_rule?: string;
        };
        public_key: string | null;
        hugo_themes: any;
    }>;
    pruneTransform(ctx: ControllerCallContext): Promise<void>;
    pruneAll(ctx: ControllerCallContext): Promise<void>;
    pruneGit(ctx: ControllerCallContext): Promise<void>;
}
//# sourceMappingURL=ConfigController.d.ts.map