import type { PartialDeep } from 'type-fest';
import { AdminSections, AuditorSections, CrmSections, SupervisorSections, WtApplication } from '../../../enums';
type BaseAccessSchema = {
    _enabled: boolean;
    _locale: string;
};
export type ApplicationsAccessSchema = {
    [WtApplication.Agent]: BaseAccessSchema;
} & {
    [WtApplication.History]: BaseAccessSchema;
} & {
    [WtApplication.Analytics]: BaseAccessSchema;
} & {
    [WtApplication.Supervisor]: BaseAccessSchema & Partial<Record<SupervisorSections, BaseAccessSchema>>;
} & {
    [WtApplication.Admin]: BaseAccessSchema & Partial<Record<AdminSections, BaseAccessSchema>>;
} & {
    [WtApplication.Audit]: BaseAccessSchema & Partial<Record<AuditorSections, BaseAccessSchema>>;
} & {
    [WtApplication.Crm]: BaseAccessSchema & Partial<Record<CrmSections, BaseAccessSchema>>;
};
/**
 */
export default class ApplicationsAccess {
    access: ApplicationsAccessSchema;
    constructor({ access, value, }?: {
        access?: PartialDeep<ApplicationsAccessSchema>;
        value?: boolean;
    });
    static minify(access: any): any;
    static restore(access: any): {
        agent: BaseAccessSchema;
        history: BaseAccessSchema;
        grafana: BaseAccessSchema;
        supervisor: BaseAccessSchema & Partial<Record<SupervisorSections, BaseAccessSchema>>;
        admin: BaseAccessSchema & Partial<Record<AdminSections, BaseAccessSchema>>;
        audit: BaseAccessSchema & Partial<Record<AuditorSections, BaseAccessSchema>>;
        crm: BaseAccessSchema & Partial<Record<CrmSections, BaseAccessSchema>>;
    };
    getAccess(): ApplicationsAccessSchema;
}
export {};
