import { DataListColumn, DataListColumnVisibility, DataListColumnWidth, DataListRow, DataListSortState } from './DataList.model';
type DataListSettingsStore = {
    getSort: (key: string) => {
        prop: string;
        order: DataListSortState['order'];
    } | null;
    getColumnOrder: (key: string) => string[] | null;
    getColumnVisibility: (key: string) => DataListColumnVisibility[] | null;
    getColumnWidths: (key: string) => DataListColumnWidth[] | null;
    getPerPage: (key: string) => number | null;
    getDataListSelection: (key: string) => DataListRow[];
    getDataListSelectionPanelOpen: (key: string) => boolean;
};
type DataListInitialStateProps = {
    preferencesKey: string;
    sortProp: string;
    sortOrder: DataListSortState['order'];
    columnOrder?: string[] | null;
    columnVisibility?: DataListColumnVisibility[] | null;
    columnWidths?: DataListColumnWidth[] | null;
    columns: DataListColumn[];
};
type RouteLike = {
    name?: string | symbol | null;
    path?: string;
};
type UseDataListInitialStateOptions = {
    props: DataListInitialStateProps;
    settingsStore: DataListSettingsStore | null;
    route?: RouteLike;
};
/**
 * Resolves initial DataList state from persisted preferences/local memory.
 */
export declare const useDataListInitialState: ({ props, settingsStore, route, }: UseDataListInitialStateOptions) => {
    preferencesStateKey: import('vue').ComputedRef<string>;
    selectionStateKey: import('vue').ComputedRef<string>;
    initialSort: DataListSortState | null;
    initialColumnOrder: string[] | null;
    initialColumnVisibility: DataListColumnVisibility[] | null;
    initialColumnWidths: DataListColumnWidth[] | null;
    initialPerPage: number | null;
    initialSelectionRows: DataListRow[];
    selectionPanelOpen: import('vue').Ref<boolean, boolean>;
};
export {};
