import { ObservableMap } from '@stencil/store';
import type { TableTypes } from './table-interface';
export interface TableStores {
    data: ObservableMap<{
        rows: TableTypes.NanoTable['rows'];
    }>;
    config: ObservableMap<{
        columns: TableTypes.NanoTable['columns'];
    }>;
    general: ObservableMap<{
        workerId: string;
        scrollParent: HTMLElement;
        host: HTMLNanoDataTableElement;
        isReady: boolean;
        isActive?: boolean;
    }>;
}
export declare function generateStore(host: HTMLNanoDataTableElement, columns: TableTypes.NanoTable['columns'], scrollParent: HTMLElement, isReady: boolean): Promise<TableStores>;
export declare function getStore(host: HTMLElement): TableStores;
export declare function storeSetData(host: HTMLElement, rows: TableTypes.RowData[]): Promise<boolean>;
export declare function storeSetConfig(host: HTMLElement, columns: TableTypes.ColumnConfig[]): Promise<boolean>;
export declare function storeSearch(host: HTMLElement, term: string): Promise<void>;
export declare function storeFilter(host: HTMLElement, filters: TableTypes.Filter[]): Promise<void>;
export declare function storeSort(host: HTMLNanoDataTableElement, prop: TableTypes.Prop, order: TableTypes.Order): Promise<void>;
