import type { Writable } from 'svelte/store';
import type * as I from './types';
import { Types } from './types';
export declare class Table {
    body: Writable<I.Processed.Data>;
    header: Writable<I.Processed.Header>;
    config: Writable<I.Processed.Config>;
    controls: Writable<I.Controls>;
    constructor();
    static cols2rows(cols: I.ColData): I.RowData;
    static sort(data: I.Processed.Data, controls: I.Sort): I.Processed.Data;
    render({ data, columns, config }: I.Props.All): void;
    static get stores(): {
        controls: Writable<I.Controls>;
        header: Writable<I.Processed.Header>;
        body: Writable<I.Processed.Data>;
        config: Writable<I.Processed.Config>;
    };
    static get self(): Table;
    splitPin(header: I.Head[], updateHead?: I.Head): {
        pinned: I.Head[];
        notPinned: I.Head[];
        offsetLeft: number;
    };
    updatePin(updateHead: I.Head): void;
}
export declare class Cell {
    static width2css(width: string | number): string;
}
export declare function getTypeFromString(string: string): Types;
