import { View, ViewsDTO } from '../model';
import { WixPatternsMonitor, FiltersMap, DataCapsule, WixPatternsContainer } from '@wix/bex-core';
export interface ViewsServiceParams {
    readonly viewsStorage: DataCapsule;
    readonly defaultViewStorage: DataCapsule;
    readonly fqdn: string;
    readonly monitor: WixPatternsMonitor;
    readonly errorHandler: WixPatternsContainer['errorHandler'];
    readonly translate: WixPatternsContainer['translate'];
}
export interface AppSettingsViewsSchema<F extends FiltersMap> {
    views: {
        hiddenPresetIds?: Record<string, string | null | undefined>;
        list?: Record<string, View<F> | null | undefined>;
    };
}
export declare class ViewsService<F extends FiltersMap> {
    readonly viewsStorage: DataCapsule;
    readonly defaultViewStorage: DataCapsule;
    readonly fqdn: string;
    readonly monitor: WixPatternsMonitor;
    readonly errorHandler: import("@wix/bex-core").PatternsErrorHandler;
    readonly translate: import("@wix/bex-core").Translate;
    constructor(params: ViewsServiceParams);
    migrateFromLocalStorage(): Promise<void>;
    fetchViews(): Promise<ViewsDTO<F> | null>;
    fetchDefaultViewId(): Promise<string | null>;
    saveView(view: View<F>, props?: {
        isRename?: boolean;
    }): Promise<void>;
    deleteView(view: View<F>): Promise<void>;
    updateHiddenPreset(idToDelete: string): Promise<void>;
    updateDefaultView(view?: View<F>): Promise<void>;
}
//# sourceMappingURL=viewsService.d.ts.map