import { ColumnConfig } from '../../core/types';
import { ClipboardConfig } from './types';
/** Parameters for building clipboard text */
export interface CopyParams {
    /** All grid rows */
    rows: unknown[];
    /** Column configurations */
    columns: ColumnConfig[];
    /** Selected row indices */
    selectedIndices: Set<number> | number[];
    /** Clipboard configuration */
    config: ClipboardConfig;
}
/**
 * Format a cell value for clipboard output.
 *
 * Uses custom processCell if provided, otherwise applies default formatting:
 * - null/undefined → empty string
 * - Date → ISO string
 * - Object → JSON string
 * - Other → String conversion with optional quoting
 *
 * @param value - The cell value to format
 * @param field - The field name
 * @param row - The full row object
 * @param config - Clipboard configuration
 * @returns Formatted string value
 */
export declare function formatCellValue(value: unknown, field: string, row: unknown, config: ClipboardConfig): string;
/**
 * Build clipboard text from selected rows and columns.
 *
 * @param params - Copy parameters including rows, columns, selection, and config
 * @returns Tab-separated (or custom delimiter) text ready for clipboard
 */
export declare function buildClipboardText(params: CopyParams): string;
/**
 * Copy text to the system clipboard.
 *
 * Uses the modern Clipboard API when available, with fallback
 * to execCommand for older browsers.
 *
 * @param text - The text to copy
 * @returns Promise resolving to true if successful, false otherwise
 */
export declare function copyToClipboard(text: string): Promise<boolean>;
//# sourceMappingURL=copy.d.ts.map