import { Context, Selection } from '..'; export type RemoveDuplicatesError = 'readOnly' | 'noSelection' | 'noMulti' | 'noMerge' | 'noColumns' | 'cannotDeleteAllRow'; export type RemoveDuplicatesColumnOption = { column: number; label: string; checked: boolean; }; export type RemoveDuplicatesPreview = { range: Selection; columns: RemoveDuplicatesColumnOption[]; }; export type RemoveDuplicatesOptions = { hasHeaderRow: boolean; analyzedColumns: number[]; /** Range captured when the dialog opened; avoids selection drift. */ range?: Selection; }; export type RemoveDuplicatesResult = { removedCount: number; remainingCount: number; error?: RemoveDuplicatesError; }; export declare function getRemoveDuplicatesPreview(ctx: Context): { preview?: RemoveDuplicatesPreview; error?: RemoveDuplicatesError; }; export declare function removeDuplicates(ctx: Context, options: RemoveDuplicatesOptions): RemoveDuplicatesResult; export declare function getRemoveDuplicatesErrorMessage(ctx: Context, error: RemoveDuplicatesError): string;