interface CellPosition {
    row: number;
    col: number;
}
interface ColumnConfig {
    key: string;
    label?: string;
    locked?: boolean;
    format?: 'text' | 'number' | 'currency' | 'date' | 'percentage' | 'image' | 'boolean';
    sortable?: boolean;
    width?: string;
    fixed?: boolean;
    hidden?: boolean;
    defaultValue?: any;
}
interface Props {
    columns: ColumnConfig[];
    rows: Array<{
        [key: string]: any;
    }>;
    isFixed: boolean;
    showRowNumbers: boolean;
    columnWidths: Map<string, number>;
    sortColumn: string | null;
    sortDirection: 'asc' | 'desc';
    selectionStart: CellPosition | null;
    selectionEnd: CellPosition | null;
    editingCell: CellPosition | null;
    baseColumnIndex: number;
    wrapText?: boolean;
}
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    [x: string]: any;
} & {
    [x: string]: any;
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
    [x: `on${Capitalize<any>}`]: ((...args: any) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLTableElement>;
export default _default;
//# sourceMappingURL=SpreadsheetTable.vue.d.ts.map