import { SmzBuilderUtilities } from '../common/smz-builder-utilities';
import { SmzTableBuilder } from './state-builder';
import { SmzTableViewportStateData } from '../../modules/smz-tables/models/table-state';
export declare class SmzTableViewportBuilder<TData> extends SmzBuilderUtilities<SmzTableViewportBuilder<TData>> {
    private _tableBuilder;
    protected that: this;
    constructor(_tableBuilder: SmzTableBuilder<TData>);
    usePersistenceGlobally(key: string): SmzTableViewportBuilder<TData>;
    usePersistenceByUser(key: string): SmzTableViewportBuilder<TData>;
    useManualPersistence(load: () => SmzTableViewportStateData, save: (state: SmzTableViewportStateData) => void): SmzTableViewportBuilder<TData>;
    saveTriggerOnChange(): SmzTableViewportBuilder<TData>;
    hookChanges(callback: (state: SmzTableViewportStateData) => void): SmzTableViewportBuilder<TData>;
    applyData(state: SmzTableViewportStateData): SmzTableViewportBuilder<TData>;
    get table(): SmzTableBuilder<TData>;
}
