/**
 * Entry Command
 *
 * Manage content entries via CLI.
 *
 * Usage:
 *   riverbankcms entry upsert <type> <identifier> --data <json>
 *   riverbankcms entry publish <type> <identifier>
 *   riverbankcms entry unpublish <type> <identifier>
 *   riverbankcms entry get <type> <identifier>
 *   riverbankcms entry get <type> <uuid> --by-id
 *   riverbankcms entry list <type> [--limit N] [--page N]
 */
import { Command } from 'commander';
import type { ManagementClient, ManagementEntry } from '../../client/management/types';
import { type MediaValidationResult } from '../media/write-guard';
export declare const ENTRY_LIST_COLUMNS: readonly ["id", "identifier", "slug", "status", "hasUnpublishedChanges", "updatedAt", "createdAt", "publishedAt", "title", "contentType"];
export type EntryListColumn = (typeof ENTRY_LIST_COLUMNS)[number];
export declare function parseEntryListColumns(input: string): {
    columns: EntryListColumn[];
} | {
    error: string;
};
export declare function pickEntryListColumns(entry: ManagementEntry, columns: EntryListColumn[]): Partial<Record<EntryListColumn, unknown>>;
export declare function getEntryListColumnHelp(): string;
export declare function parseEntryStatusFilter(value: string | undefined): 'draft' | 'published' | undefined | {
    error: string;
};
export declare function filterEntriesByStatus(entries: ManagementEntry[], status: 'draft' | 'published' | undefined): ManagementEntry[];
export declare function validateEntryUpsertMedia(options: {
    client: ManagementClient;
    contentType: string;
    identifier: string;
    data: Record<string, unknown>;
}): Promise<MediaValidationResult>;
export declare function findEntryById(client: ManagementClient, contentType: string, entryId: string, options?: {
    limit?: number;
    maxPages?: number;
}): Promise<ManagementEntry | null>;
export declare const entryCommand: Command;
