/**
 * push-config CLI command
 *
 * Pushes SDK site configuration from a riverbank.config.ts file to the dashboard API.
 */
import { Command } from 'commander';
import type { OutputContext } from './output';
import type { APIEndpoints } from '@riverbankcms/api/public';
interface PushConfigOptions {
    config?: string;
    apiKey?: string;
    dashboard: string;
    forceContentTypes?: boolean;
}
type PushConfigResponse = NonNullable<APIEndpoints['pushSdkConfig']['response']>;
type PushConfigSync = NonNullable<PushConfigResponse['configSync']>;
type LegacyPushConfigSync = NonNullable<PushConfigResponse['sync']>;
type PushConfigDisplaySync = PushConfigSync | LegacyPushConfigSync;
type PushConfigSyncArea = 'contentTypes' | 'customBlocks' | 'templateBlocks' | 'settings' | 'ignoredDocuments' | 'pages' | 'entries' | 'navigationMenus';
type PushConfigSyncMessage = {
    area: PushConfigSyncArea;
    message: string;
};
export declare function collectPushConfigSyncErrors(sync: PushConfigDisplaySync): PushConfigSyncMessage[];
export declare function collectPushConfigSyncWarnings(sync: PushConfigDisplaySync): PushConfigSyncMessage[];
/**
 * Main push-config action.
 * Exported for reuse by `push --with-config`.
 */
export declare function pushConfigAction(output: OutputContext, options: PushConfigOptions & {
    isRemote: boolean;
    isJsonOutput?: boolean;
}): Promise<void>;
/**
 * push-config command definition
 */
export declare const pushConfigCommand: Command;
export {};
