export declare let showDiffs: boolean;
export declare function setShowDiffs(value: boolean): void;
export interface SyncOptions {
    stateful?: boolean;
    raw?: boolean;
    yes?: boolean;
    dryRun?: boolean;
    skipPull?: boolean;
    failConflicts?: boolean;
    plainSecrets?: boolean;
    json?: boolean;
    skipVariables?: boolean;
    skipResources?: boolean;
    skipResourceTypes?: boolean;
    skipSecrets?: boolean;
    skipWorkspaceDependencies?: boolean;
    skipScripts?: boolean;
    skipFlows?: boolean;
    skipApps?: boolean;
    skipFolders?: boolean;
    includeSchedules?: boolean;
    includeTriggers?: boolean;
    includeUsers?: boolean;
    includeGroups?: boolean;
    includeSettings?: boolean;
    includeKey?: boolean;
    skipBranchValidation?: boolean;
    message?: string;
    includes?: string[];
    extraIncludes?: string[];
    excludes?: string[];
    defaultTs?: "bun" | "deno";
    codebases?: Codebase[];
    parallel?: number;
    jsonOutput?: boolean;
    nonDottedPaths?: boolean;
    gitBranches?: {
        commonSpecificItems?: {
            variables?: string[];
            resources?: string[];
            triggers?: string[];
            folders?: string[];
            settings?: boolean;
        };
    } & {
        [branchName: string]: SyncOptions & {
            overrides?: Partial<SyncOptions>;
            promotionOverrides?: Partial<SyncOptions>;
            baseUrl?: string;
            workspaceId?: string;
            specificItems?: {
                variables?: string[];
                resources?: string[];
                triggers?: string[];
                folders?: string[];
                settings?: boolean;
            };
        };
    };
    git_branches?: {
        commonSpecificItems?: {
            variables?: string[];
            resources?: string[];
            triggers?: string[];
            folders?: string[];
            settings?: boolean;
        };
    } & {
        [branchName: string]: SyncOptions & {
            overrides?: Partial<SyncOptions>;
            promotionOverrides?: Partial<SyncOptions>;
            baseUrl?: string;
            workspaceId?: string;
            specificItems?: {
                variables?: string[];
                resources?: string[];
                triggers?: string[];
                folders?: string[];
                settings?: boolean;
            };
        };
    };
    promotion?: string;
}
export interface Codebase {
    relative_path: string;
    includes?: string[];
    excludes?: string[];
    assets?: {
        from: string;
        to: string;
    }[];
    customBundler?: string;
    external?: string[];
    define?: {
        [key: string]: string;
    };
    inject?: string[];
    loader?: any;
    format?: "cjs" | "esm";
    banner?: {
        [type: string]: string;
    };
}
export declare const GLOBAL_CONFIG_OPT: {
    noCdToRoot: boolean;
};
export declare function getWmillYamlPath(): string | null;
export declare function readConfigFile(): Promise<SyncOptions>;
export declare const DEFAULT_SYNC_OPTIONS: Readonly<Required<Pick<SyncOptions, "defaultTs" | "includes" | "excludes" | "codebases" | "skipVariables" | "skipResources" | "skipResourceTypes" | "skipSecrets" | "includeSchedules" | "includeTriggers" | "skipWorkspaceDependencies" | "skipScripts" | "skipFlows" | "skipApps" | "skipFolders" | "includeUsers" | "includeGroups" | "includeSettings" | "includeKey" | "nonDottedPaths">>>;
export declare function mergeConfigWithConfigFile<T>(opts: T): Promise<T & SyncOptions>;
export declare function validateBranchConfiguration(opts: Pick<SyncOptions, "skipBranchValidation" | "yes">, branchOverride?: string): Promise<void>;
export declare function getEffectiveSettings(config: SyncOptions, promotion?: string, skipBranchValidation?: boolean, suppressLogs?: boolean, branchOverride?: string): Promise<SyncOptions>;
//# sourceMappingURL=conf.d.ts.map