import { AxiosInstance } from "axios";
import { MainStateManager } from "../MainStateManager";
import { ElementsOfFormFactory } from "../Page/ElementsOfFormFactory";
import { IMainStateFactory, OfficialAttacheFormsType } from "../Types";
type AttacheFormFactoryForm = {
    type: OfficialAttacheFormsType;
    object: {
        id: number;
    };
};
export declare class SendByLetterFactory implements IMainStateFactory {
    mainStateManager: MainStateManager;
    onCloseSendByLetterForm?: (() => void) | undefined;
    get any(): any;
    elementsOfForm: ElementsOfFormFactory;
    id: string;
    sendByLetterRoot: HTMLElement;
    mainDivElement: HTMLDivElement;
    forceUpdate: () => void;
    payLoad: string;
    forms: AttacheFormFactoryForm[];
    addForm: (type: OfficialAttacheFormsType, object: {
        id: number;
    }) => void;
    remove: (id: number) => void;
    getPayLoad: () => {
        [x: string]: {
            id: any;
            yearId: any;
            formType: OfficialAttacheFormsType;
        }[];
    };
    constructor(mainStateManager: MainStateManager, onCloseSendByLetterForm?: (() => void) | undefined);
    closeByClick(e: any): void;
    close(): void;
    dispose: () => void;
    axiosDate: {
        axios: (path: string) => AxiosInstance;
        controllerPath: string;
        acceptPath: string;
    };
    accept: (afterSuccess?: ((responseData: any) => void) | undefined) => void;
    saveData: (afterSuccess?: ((responseData: any) => void) | undefined) => void;
}
export {};
