import { TileRecord } from '../types/TileRecord';
import { UcsdConfig } from '../types/UcsdConfig';
/**
 * Represents the store for managing application state, particularly related to user interface elements,
 * menus, themes, layouts, navigation, and progress tracking.
 *
 * This store encapsulates logic to handle the following:
 * - Managing application themes (e.g., light or dark).
 * - Managing layout configurations and related settings such as floating menus, rails, and dock visibility.
 * - Managing active and navigable menus.
 * - Tracking application progress for specific operations or tasks, including progress timers.
 * - Securing routes and menus based on user roles and authentication requirements.
 * - Handling navigation drawers and docking properties.
 * - Managing headers for pages and their subheaders.
 * - Providing utilities such as starting or stopping timers, toggling themes, and cleaning up hidden menus.
 *
 * It incorporates various states and functions to effectively manage these features, such as:
 * - Reactive state variables like `activeMenu`, `currentTheme`, `currentLayout`, etc.
 * - Role-based route and menu filtering secured through user roles and authentication.
 * - Utility methods for menu initialization, state switches, and route management.
 */
export declare const useItsAppStore: import('pinia').StoreDefinition<"its-app", Pick<{
    currentTheme: import('vue').Ref<string | undefined, string | undefined>;
    currentLayout: import('vue').Ref<string | undefined, string | undefined>;
    layoutRail: import('vue').Ref<boolean, boolean>;
    activeMenu: import('vue').Ref<{
        label: string;
        key: string;
        icon?: string | undefined;
        getIcon?: (() => string) | undefined;
        buttonColor?: string | undefined;
        badgeColor?: string | undefined;
        badgeContent?: (() => string) | undefined;
        action?: ((args: TileRecord) => void) | undefined;
        eventFunc?: string | undefined;
        link?: string | undefined;
        linkProp?: (() => string) | undefined;
        disabled?: boolean | undefined;
        active?: boolean | undefined;
        childDropdown?: boolean | undefined;
        hide?: boolean | undefined;
        children?: /*elided*/ any[] | undefined;
    }[], TileRecord[] | {
        label: string;
        key: string;
        icon?: string | undefined;
        getIcon?: (() => string) | undefined;
        buttonColor?: string | undefined;
        badgeColor?: string | undefined;
        badgeContent?: (() => string) | undefined;
        action?: ((args: TileRecord) => void) | undefined;
        eventFunc?: string | undefined;
        link?: string | undefined;
        linkProp?: (() => string) | undefined;
        disabled?: boolean | undefined;
        active?: boolean | undefined;
        childDropdown?: boolean | undefined;
        hide?: boolean | undefined;
        children?: /*elided*/ any[] | undefined;
    }[]>;
    activeMenuVal: import('vue').Ref<string, string>;
    rootMenu: import('vue').Ref<{
        label: string;
        key: string;
        icon?: string | undefined;
        getIcon?: (() => string) | undefined;
        buttonColor?: string | undefined;
        badgeColor?: string | undefined;
        badgeContent?: (() => string) | undefined;
        action?: ((args: TileRecord) => void) | undefined;
        eventFunc?: string | undefined;
        link?: string | undefined;
        linkProp?: (() => string) | undefined;
        disabled?: boolean | undefined;
        active?: boolean | undefined;
        childDropdown?: boolean | undefined;
        hide?: boolean | undefined;
        children?: /*elided*/ any[] | undefined;
    }, TileRecord | {
        label: string;
        key: string;
        icon?: string | undefined;
        getIcon?: (() => string) | undefined;
        buttonColor?: string | undefined;
        badgeColor?: string | undefined;
        badgeContent?: (() => string) | undefined;
        action?: ((args: TileRecord) => void) | undefined;
        eventFunc?: string | undefined;
        link?: string | undefined;
        linkProp?: (() => string) | undefined;
        disabled?: boolean | undefined;
        active?: boolean | undefined;
        childDropdown?: boolean | undefined;
        hide?: boolean | undefined;
        children?: /*elided*/ any[] | undefined;
    }>;
    currentPageHeader: import('vue').Ref<string | undefined, string | undefined>;
    currentSubHdr: import('vue').Ref<string | undefined, string | undefined>;
    floatMenu: import('vue').Ref<boolean, boolean>;
    dockPosition: import('vue').Ref<string, string>;
    dockVisible: import('vue').Ref<boolean, boolean>;
    navDrawer: import('vue').Ref<boolean, boolean>;
    progressMessage: import('vue').Ref<string, string>;
    progressStep: import('vue').Ref<number, number>;
    getConfigUrl: (urlKey: keyof Pick<UcsdConfig, "authUrl" | "auditLogUrl" | "errorReportUrl" | "accessTokenUrl" | "ssoUrl">) => string;
    toggleTheme: () => void;
    setDockVisible: (flag: boolean) => void;
    setNavDrawer: (flag: boolean) => void;
    setDockPosition: (position: string) => void;
    setCurrentTheme: (theme: string) => void;
    setFloatMenu: (val: boolean) => void;
    setCurrentPageHdr: (hdr: string) => void;
    setCurrentSubHdr: (hdr: string) => void;
    init: () => void;
    setLayoutRail: (rail: boolean) => void;
    setCurrentLayout: (layout: string) => void;
    setActiveMenuVal: (val: string) => void;
    setActiveMenu: (menuItem: TileRecord) => void;
    getBadgeContent: (item: TileRecord) => string | undefined;
    execAction: (menuItem: TileRecord, eventMap: any) => void;
    renderIcon: (menuItem: any) => any;
    invokeLoginCallback: () => Promise<void>;
    invokeLogoutCallback: () => void;
    getCustomAuth: () => (() => Promise<any>) | undefined;
    secureRoutes: () => void;
    startProgTimer: () => void;
    isInProgress: import('vue').Ref<boolean, boolean>;
    setInProgress: (flag: boolean, message: string, step: number) => void;
    reBuildOnLayoutSwitch: () => void;
    apiClientKeys: () => any;
}, "rootMenu" | "currentTheme" | "currentLayout" | "dockPosition" | "layoutRail" | "activeMenu" | "activeMenuVal" | "currentPageHeader" | "currentSubHdr" | "floatMenu" | "dockVisible" | "navDrawer" | "progressMessage" | "progressStep" | "isInProgress">, Pick<{
    currentTheme: import('vue').Ref<string | undefined, string | undefined>;
    currentLayout: import('vue').Ref<string | undefined, string | undefined>;
    layoutRail: import('vue').Ref<boolean, boolean>;
    activeMenu: import('vue').Ref<{
        label: string;
        key: string;
        icon?: string | undefined;
        getIcon?: (() => string) | undefined;
        buttonColor?: string | undefined;
        badgeColor?: string | undefined;
        badgeContent?: (() => string) | undefined;
        action?: ((args: TileRecord) => void) | undefined;
        eventFunc?: string | undefined;
        link?: string | undefined;
        linkProp?: (() => string) | undefined;
        disabled?: boolean | undefined;
        active?: boolean | undefined;
        childDropdown?: boolean | undefined;
        hide?: boolean | undefined;
        children?: /*elided*/ any[] | undefined;
    }[], TileRecord[] | {
        label: string;
        key: string;
        icon?: string | undefined;
        getIcon?: (() => string) | undefined;
        buttonColor?: string | undefined;
        badgeColor?: string | undefined;
        badgeContent?: (() => string) | undefined;
        action?: ((args: TileRecord) => void) | undefined;
        eventFunc?: string | undefined;
        link?: string | undefined;
        linkProp?: (() => string) | undefined;
        disabled?: boolean | undefined;
        active?: boolean | undefined;
        childDropdown?: boolean | undefined;
        hide?: boolean | undefined;
        children?: /*elided*/ any[] | undefined;
    }[]>;
    activeMenuVal: import('vue').Ref<string, string>;
    rootMenu: import('vue').Ref<{
        label: string;
        key: string;
        icon?: string | undefined;
        getIcon?: (() => string) | undefined;
        buttonColor?: string | undefined;
        badgeColor?: string | undefined;
        badgeContent?: (() => string) | undefined;
        action?: ((args: TileRecord) => void) | undefined;
        eventFunc?: string | undefined;
        link?: string | undefined;
        linkProp?: (() => string) | undefined;
        disabled?: boolean | undefined;
        active?: boolean | undefined;
        childDropdown?: boolean | undefined;
        hide?: boolean | undefined;
        children?: /*elided*/ any[] | undefined;
    }, TileRecord | {
        label: string;
        key: string;
        icon?: string | undefined;
        getIcon?: (() => string) | undefined;
        buttonColor?: string | undefined;
        badgeColor?: string | undefined;
        badgeContent?: (() => string) | undefined;
        action?: ((args: TileRecord) => void) | undefined;
        eventFunc?: string | undefined;
        link?: string | undefined;
        linkProp?: (() => string) | undefined;
        disabled?: boolean | undefined;
        active?: boolean | undefined;
        childDropdown?: boolean | undefined;
        hide?: boolean | undefined;
        children?: /*elided*/ any[] | undefined;
    }>;
    currentPageHeader: import('vue').Ref<string | undefined, string | undefined>;
    currentSubHdr: import('vue').Ref<string | undefined, string | undefined>;
    floatMenu: import('vue').Ref<boolean, boolean>;
    dockPosition: import('vue').Ref<string, string>;
    dockVisible: import('vue').Ref<boolean, boolean>;
    navDrawer: import('vue').Ref<boolean, boolean>;
    progressMessage: import('vue').Ref<string, string>;
    progressStep: import('vue').Ref<number, number>;
    getConfigUrl: (urlKey: keyof Pick<UcsdConfig, "authUrl" | "auditLogUrl" | "errorReportUrl" | "accessTokenUrl" | "ssoUrl">) => string;
    toggleTheme: () => void;
    setDockVisible: (flag: boolean) => void;
    setNavDrawer: (flag: boolean) => void;
    setDockPosition: (position: string) => void;
    setCurrentTheme: (theme: string) => void;
    setFloatMenu: (val: boolean) => void;
    setCurrentPageHdr: (hdr: string) => void;
    setCurrentSubHdr: (hdr: string) => void;
    init: () => void;
    setLayoutRail: (rail: boolean) => void;
    setCurrentLayout: (layout: string) => void;
    setActiveMenuVal: (val: string) => void;
    setActiveMenu: (menuItem: TileRecord) => void;
    getBadgeContent: (item: TileRecord) => string | undefined;
    execAction: (menuItem: TileRecord, eventMap: any) => void;
    renderIcon: (menuItem: any) => any;
    invokeLoginCallback: () => Promise<void>;
    invokeLogoutCallback: () => void;
    getCustomAuth: () => (() => Promise<any>) | undefined;
    secureRoutes: () => void;
    startProgTimer: () => void;
    isInProgress: import('vue').Ref<boolean, boolean>;
    setInProgress: (flag: boolean, message: string, step: number) => void;
    reBuildOnLayoutSwitch: () => void;
    apiClientKeys: () => any;
}, never>, Pick<{
    currentTheme: import('vue').Ref<string | undefined, string | undefined>;
    currentLayout: import('vue').Ref<string | undefined, string | undefined>;
    layoutRail: import('vue').Ref<boolean, boolean>;
    activeMenu: import('vue').Ref<{
        label: string;
        key: string;
        icon?: string | undefined;
        getIcon?: (() => string) | undefined;
        buttonColor?: string | undefined;
        badgeColor?: string | undefined;
        badgeContent?: (() => string) | undefined;
        action?: ((args: TileRecord) => void) | undefined;
        eventFunc?: string | undefined;
        link?: string | undefined;
        linkProp?: (() => string) | undefined;
        disabled?: boolean | undefined;
        active?: boolean | undefined;
        childDropdown?: boolean | undefined;
        hide?: boolean | undefined;
        children?: /*elided*/ any[] | undefined;
    }[], TileRecord[] | {
        label: string;
        key: string;
        icon?: string | undefined;
        getIcon?: (() => string) | undefined;
        buttonColor?: string | undefined;
        badgeColor?: string | undefined;
        badgeContent?: (() => string) | undefined;
        action?: ((args: TileRecord) => void) | undefined;
        eventFunc?: string | undefined;
        link?: string | undefined;
        linkProp?: (() => string) | undefined;
        disabled?: boolean | undefined;
        active?: boolean | undefined;
        childDropdown?: boolean | undefined;
        hide?: boolean | undefined;
        children?: /*elided*/ any[] | undefined;
    }[]>;
    activeMenuVal: import('vue').Ref<string, string>;
    rootMenu: import('vue').Ref<{
        label: string;
        key: string;
        icon?: string | undefined;
        getIcon?: (() => string) | undefined;
        buttonColor?: string | undefined;
        badgeColor?: string | undefined;
        badgeContent?: (() => string) | undefined;
        action?: ((args: TileRecord) => void) | undefined;
        eventFunc?: string | undefined;
        link?: string | undefined;
        linkProp?: (() => string) | undefined;
        disabled?: boolean | undefined;
        active?: boolean | undefined;
        childDropdown?: boolean | undefined;
        hide?: boolean | undefined;
        children?: /*elided*/ any[] | undefined;
    }, TileRecord | {
        label: string;
        key: string;
        icon?: string | undefined;
        getIcon?: (() => string) | undefined;
        buttonColor?: string | undefined;
        badgeColor?: string | undefined;
        badgeContent?: (() => string) | undefined;
        action?: ((args: TileRecord) => void) | undefined;
        eventFunc?: string | undefined;
        link?: string | undefined;
        linkProp?: (() => string) | undefined;
        disabled?: boolean | undefined;
        active?: boolean | undefined;
        childDropdown?: boolean | undefined;
        hide?: boolean | undefined;
        children?: /*elided*/ any[] | undefined;
    }>;
    currentPageHeader: import('vue').Ref<string | undefined, string | undefined>;
    currentSubHdr: import('vue').Ref<string | undefined, string | undefined>;
    floatMenu: import('vue').Ref<boolean, boolean>;
    dockPosition: import('vue').Ref<string, string>;
    dockVisible: import('vue').Ref<boolean, boolean>;
    navDrawer: import('vue').Ref<boolean, boolean>;
    progressMessage: import('vue').Ref<string, string>;
    progressStep: import('vue').Ref<number, number>;
    getConfigUrl: (urlKey: keyof Pick<UcsdConfig, "authUrl" | "auditLogUrl" | "errorReportUrl" | "accessTokenUrl" | "ssoUrl">) => string;
    toggleTheme: () => void;
    setDockVisible: (flag: boolean) => void;
    setNavDrawer: (flag: boolean) => void;
    setDockPosition: (position: string) => void;
    setCurrentTheme: (theme: string) => void;
    setFloatMenu: (val: boolean) => void;
    setCurrentPageHdr: (hdr: string) => void;
    setCurrentSubHdr: (hdr: string) => void;
    init: () => void;
    setLayoutRail: (rail: boolean) => void;
    setCurrentLayout: (layout: string) => void;
    setActiveMenuVal: (val: string) => void;
    setActiveMenu: (menuItem: TileRecord) => void;
    getBadgeContent: (item: TileRecord) => string | undefined;
    execAction: (menuItem: TileRecord, eventMap: any) => void;
    renderIcon: (menuItem: any) => any;
    invokeLoginCallback: () => Promise<void>;
    invokeLogoutCallback: () => void;
    getCustomAuth: () => (() => Promise<any>) | undefined;
    secureRoutes: () => void;
    startProgTimer: () => void;
    isInProgress: import('vue').Ref<boolean, boolean>;
    setInProgress: (flag: boolean, message: string, step: number) => void;
    reBuildOnLayoutSwitch: () => void;
    apiClientKeys: () => any;
}, "getConfigUrl" | "toggleTheme" | "setDockVisible" | "setNavDrawer" | "setDockPosition" | "setCurrentTheme" | "setFloatMenu" | "setCurrentPageHdr" | "setCurrentSubHdr" | "init" | "setLayoutRail" | "setCurrentLayout" | "setActiveMenuVal" | "setActiveMenu" | "getBadgeContent" | "execAction" | "renderIcon" | "invokeLoginCallback" | "invokeLogoutCallback" | "getCustomAuth" | "secureRoutes" | "startProgTimer" | "setInProgress" | "reBuildOnLayoutSwitch" | "apiClientKeys">>;
