import type { CslItem } from "../../core/csl-json/types.js"; import type { IdentifierType } from "../../core/library-interface.js"; import type { FulltextType } from "../../features/fulltext/index.js"; import { type RemoveResult, getFulltextAttachmentTypes } from "../../features/operations/remove.js"; import { type ExecutionContext } from "../execution-context.js"; export { getFulltextAttachmentTypes }; export type { RemoveResult }; /** * Options for the remove command. */ export interface RemoveCommandOptions { identifier: string; idType?: IdentifierType; /** Directory containing fulltext files */ fulltextDirectory?: string; /** Whether to delete associated fulltext files */ deleteFulltext?: boolean; } /** * Result from remove command execution. */ export type RemoveCommandResult = RemoveResult; /** * Execute remove command. * Uses context.library.remove() which works for both local and server modes. * * @param options - Remove command options * @param context - Execution context * @returns Remove result */ export declare function executeRemove(options: RemoveCommandOptions, context: ExecutionContext): Promise; /** * Format remove result for CLI output. * * @param result - Remove result * @param identifier - The identifier that was used * @returns Formatted output string */ export declare function formatRemoveOutput(result: RemoveCommandResult, identifier: string): string; /** * Format fulltext warning message for remove confirmation. * * @param types - Attached fulltext types * @returns Warning message string */ export declare function formatFulltextWarning(types: FulltextType[]): string; /** * Options for handleRemoveAction. */ export interface RemoveActionOptions { uuid?: boolean; force?: boolean; output?: "json" | "text"; full?: boolean; } /** * Confirm removal if needed (TTY, not forced). */ export declare function confirmRemoveIfNeeded(item: CslItem, hasFulltext: boolean, force: boolean): Promise; /** * Handle 'remove' command action. */ export declare function handleRemoveAction(identifierArg: string | undefined, options: RemoveActionOptions, globalOpts: Record): Promise; //# sourceMappingURL=remove.d.ts.map