/**
 * Publish-All Command
 *
 * Publish all entries of a specific content type.
 *
 * Features:
 * - Publishes all entries with unpublished changes
 * - Skips already-published entries (no-op for clean entries)
 * - Continues on failure, reports all results at end
 * - Supports --env for multi-environment operations
 * - Requires --yes for remote environments
 *
 * Usage:
 *   riverbankcms publish-all <content-type>
 *   riverbankcms publish-all <content-type> --env=remote --yes
 *   riverbankcms publish-all <content-type> --env=both --yes
 *   riverbankcms publish-all <content-type> --dry-run
 */
import { Command } from 'commander';
import { type ManagementEntry } from '../../client/management';
export interface PublishResult {
    identifier: string;
    success: boolean;
    skipped: boolean;
    error?: string;
}
export interface PublishAllSummary {
    total: number;
    published: number;
    skipped: number;
    failed: number;
    errors: Array<{
        identifier: string;
        error: string;
    }>;
}
/**
 * Filter entries into those needing publishing vs already published.
 * Exported for testing.
 */
export declare function categorizeEntries(entries: ManagementEntry[]): {
    toPublish: ManagementEntry[];
    alreadyPublished: ManagementEntry[];
};
/**
 * Aggregate publish results into a summary.
 * Exported for testing.
 */
export declare function aggregateResults(results: PublishResult[]): Omit<PublishAllSummary, 'total'>;
export declare const publishAllCommand: Command;
