/// <reference types="react" />
import { Clipboarding } from './Clipboard';
import { INaming } from './NamingCaption';
import { Argument, IMainStateFactory, OfficialAttacheFormsType } from '..';
import { SettingInfo } from './AmisaAuth/Models/SettingInfo';
import { ModalFactory } from './ComponentFactory/ModalFactory';
import { AuthFactory } from './AmisaAuth/AuthFactory';
import { IPopupMouseLocation, PopupFactory } from './ComponentFactory/PopupFactory';
import { LazyLoadFactory } from './LazyLoadFactory';
import { PageLoadByKey } from './PageLoadByKey';
import { SendByLetterFactory } from './ComponentFactory/SendByLetterFactory';
import { UserInfo } from './AmisaAuth/Models/UserInfo/UserInfo';
import { FiscalYearsInfo } from './AmisaAuth/Models/FiscalYearsInfo/FiscalYearsInfo';
import { SubSystemsInfo } from './AmisaAuth/Models/SubSystemsInfo/SubSystemsInfo';
import { TokenInfo } from './AmisaAuth/Models/StorageManager/TokenInfo';
import { Paths } from 'amisa-paths';
export type TThemeMode = 'light' | 'dark';
export declare class MainStateManager {
    #private;
    domDirection: 'ltr' | 'rtl';
    domIsDark: boolean;
    get any(): any;
    get authFactory(): AuthFactory;
    get baseUrl(): string;
    get projectKey(): string;
    get pathManager(): Paths;
    get userInfo(): UserInfo;
    get settingInfo(): SettingInfo;
    get fiscalYearsInfo(): FiscalYearsInfo;
    get subSystemsInfo(): SubSystemsInfo;
    get tokenInfo(): TokenInfo;
    lazyLoadFactory: LazyLoadFactory;
    pageLoadKeyFactory: PageLoadByKey;
    Clipboarding: Clipboarding;
    forceUpdate: () => void;
    forceUpdateToShowFullScreenWaittingSpinner: (_mainState: IMainStateFactory, _onClosedModal?: () => void) => void;
    forceUpdateToShowSomeThingWentWrong: (_mainState: IMainStateFactory, _onClosedModal?: () => void) => void;
    forceUpdateToShowError: (_mainState: IMainStateFactory, _erro: Error, _onClosedModal?: () => void) => void;
    forceUpdateToShowThereAreSomeErrorYouCanNot: (_mainState: IMainStateFactory, _countOfError: number, _onClosedModal?: () => void) => void;
    forceUpdateToShowInvalidArgument: (_mainState: IMainStateFactory, _description: string, _onClosedModal?: () => void) => void;
    forceUpdateToShowSuccessFull: (_mainState: IMainStateFactory, _caption?: string, _text?: string, _description?: string, _onClosedModal?: () => void) => void;
    forceUpdateToShowAreYouSureDelete: (_mainState: IMainStateFactory, _onDeleteClick: () => void, _caption?: string, _text?: string, _description?: string) => void;
    forceUpdateToShowThereIsNotAnyChangeForSave: (_mainState: IMainStateFactory, _onClosedModal?: () => void) => void;
    forceUpdateToShowAttachedFiles: (_mainState: IMainStateFactory, _argument: string | number | object | undefined, _axiosData: {
        controllerPath: string;
        acceptPath?: string;
        getListPath?: string;
        getByIdPath?: string;
        deletePath?: string;
    }, _caption?: string, _onClosedModal?: (() => void)) => void;
    sendByLetterForm?: SendByLetterFactory;
    showSendByLetterForm: (type: OfficialAttacheFormsType, object: {
        id: number;
    }) => void;
    closeSendByLetterForm: () => void;
    popups: PopupFactory[];
    showPopup: (mainState: IMainStateFactory, children: JSX.Element, e?: IPopupMouseLocation, onClosedPopup?: () => void) => void;
    closePopup: (mainFactory: PopupFactory) => void;
    modals: ModalFactory[];
    showModal: (mainState: IMainStateFactory, children: JSX.Element, isWaitingModal?: boolean, onClosedModal?: () => void, argumentClass?: Argument, cssClasses?: string) => void;
    showFullScreenWaittingSpinner: (mainState: IMainStateFactory, onClosedModal?: () => void) => void;
    showErrorMessageBox: (mainState: IMainStateFactory, error: Error, onClosedModal?: () => void) => void;
    showThereAreSomeErrorYouCanNot: (mainState: IMainStateFactory, countOfError: number, onClosedModal?: () => void) => void;
    showSomeThingWentWrong: (mainState: IMainStateFactory, onClosedModal?: () => void) => void;
    showInvalidArgumentMessageBox: (mainState: IMainStateFactory, description: string, onClosedModal?: () => void) => void;
    showSuccessFullMessageBox: (mainState: IMainStateFactory, caption?: string, text?: string, description?: string, onClosedModal?: () => void) => void;
    showAreYouSureDeleteMessageBox: (mainState: IMainStateFactory, onClickDelete: () => void, caption?: string, text?: string, description?: string) => void;
    showThereIsNotAnyChangeForSave: (mainState: IMainStateFactory, onClosedModal?: () => void) => void;
    showAttachedFiles: (mainState: IMainStateFactory, argument: string | number | object | undefined, axiosData: {
        controllerPath: string;
        acceptPath?: string;
        getListPath?: string;
        getByIdPath?: string;
        deletePath?: string;
    }, caption?: string, onClosedModal?: (() => void)) => void;
    closeModal: (mainFactory: ModalFactory) => void;
    history?: {
        push: (path: string) => void;
    };
    push: (path: string) => void;
    signOut: () => void;
    private _themeMode;
    get themeMode(): TThemeMode;
    windowWidth: number;
    delayLayoutShowForMain?: boolean;
    progressInitialize: boolean;
    progressBarLoading: number;
    setWindowWidth(windowWidth: number): void;
    classEffect: string;
    classEffectFooter: string;
    setOpacityDisplay(opacityDisplay: boolean): void;
    getCaptionNaming(caption: INaming): string;
}
