import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
import type { ASTNode, ExpressionNode } from '../../types/base-types';
import type { ExpressionEvaluator } from '../../core/expression-evaluator';
import { type DecoratedCommand, type CommandMetadata } from '../decorators';
export interface CopyCommandInput {
    source: string | HTMLElement;
    format?: 'text' | 'html';
}
export interface CopyCommandOutput {
    success: boolean;
    text: string;
    format: 'text' | 'html';
    method: 'clipboard-api' | 'execCommand' | 'fallback';
}
export declare class CopyCommand implements DecoratedCommand {
    readonly name: string;
    readonly metadata: CommandMetadata;
    parseInput(raw: {
        args: ASTNode[];
        modifiers: Record<string, ExpressionNode>;
    }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<CopyCommandInput>;
    execute(input: CopyCommandInput, context: TypedExecutionContext): Promise<CopyCommandOutput>;
    private extractText;
    private copyUsingExecCommand;
    private dispatchCopyEvent;
}
export declare const createCopyCommand: () => CopyCommand;
export default CopyCommand;
//# sourceMappingURL=copy.d.ts.map