import { type DuplicateKeyType } from "../../features/duplicate/scanner.js"; import { type DuplicatesOperationResult } from "../../features/operations/duplicates.js"; import { type ExecutionContext } from "../execution-context.js"; import { type CliOptions } from "../helpers.js"; export interface DuplicatesCommandOptions { by?: readonly DuplicateKeyType[]; includeResolved?: boolean; } export type DuplicatesCommandResult = DuplicatesOperationResult; export declare function executeDuplicates(options: DuplicatesCommandOptions, context: ExecutionContext): Promise; /** * Parse the `--by` list. * * @returns The key types, or an error message */ export declare function parseByOption(value: string | undefined): DuplicateKeyType[] | string; /** * Human-readable report. Written to stdout — the group listing is the command's output, not a * status message. */ export declare function formatDuplicatesOutput(result: DuplicatesCommandResult): string; export interface DuplicatesJsonGroup { types: DuplicateKeyType[]; keys: Partial>; resolved: boolean; items: { id: string; uuid?: string; title?: string; year?: number; }[]; } export interface DuplicatesJsonOutput { scanned: number; groupCount: number; redundantCount: number; groups: DuplicatesJsonGroup[]; } export declare function formatDuplicatesJsonOutput(result: DuplicatesCommandResult): DuplicatesJsonOutput; export interface DuplicatesActionOptions extends CliOptions { by?: string; fix?: boolean; includeResolved?: boolean; output?: string; } export declare function handleDuplicatesAction(options: DuplicatesActionOptions, globalOpts: Record): Promise; //# sourceMappingURL=duplicates.d.ts.map