/// <reference types="react" />
type switForm = {
    type: 'govco';
    impuesto_id?: string;
    formulario_id?: number;
    guid_form?: string;
    endpoint?: string;
};
type otherForm = {
    type: 'other';
    content: any;
    guid_form: string;
    endpoint?: string;
};
export type formStringProps = switForm | otherForm;
export type IModalActivity = {
    type: 'activities';
    content: {
        ciiu: string;
        activityCode: string;
        index?: number;
    };
    id: string;
    componentKey: 'ActivityModal';
};
export type IModalAnnexes = {
    type: 'annexes';
    content: {
        anexe: string;
    };
    id: string;
    componentKey: 'ActivityModal';
};
export type IModalDirection = {
    type: 'map';
    content: {
        direction: string;
    };
    id: string;
    componentKey: 'DirectionModal';
};
type IModals = (IModalActivity | IModalAnnexes | IModalDirection) & {
    className?: string;
};
export type FxSchema = {
    req: string[];
    fx: (values: any, fn: any) => any;
};
export interface IGeneralContext {
    modalInfo?: IModals;
    formules_schema: Record<string, FxSchema>;
    functions: Record<string, (value: any) => any>;
    mainConfig: formStringProps;
    params: Record<string, any>;
    formString?: string;
    submitCallback?: (data: any) => void;
    cancelCallback?: () => void;
    formSchema?: any;
}
export declare const Provider: ({ children, defaultValue }: {
    children: import("react").ReactNode;
    defaultValue?: Partial<{
        modalInfo: (IModalActivity & {
            className?: string | undefined;
        }) | (IModalAnnexes & {
            className?: string | undefined;
        }) | (IModalDirection & {
            className?: string | undefined;
        });
        formules_schema: Record<string, FxSchema>;
        functions: Record<string, (value: any) => any>;
        mainConfig: switForm | otherForm;
        params: Record<string, any>;
        formString: string;
        submitCallback: (data: any) => void;
        cancelCallback: () => void;
        formSchema: any;
    }> | undefined;
}) => import("react/jsx-runtime").JSX.Element, useGeneralForm: <SelectorOutPut>(selector: (data: {
    modalInfo: (IModalActivity & {
        className?: string | undefined;
    }) | (IModalAnnexes & {
        className?: string | undefined;
    }) | (IModalDirection & {
        className?: string | undefined;
    });
    formules_schema: Record<string, FxSchema>;
    functions: Record<string, (value: any) => any>;
    mainConfig: switForm | otherForm;
    params: Record<string, any>;
    formString: string;
    submitCallback: (data: any) => void;
    cancelCallback: () => void;
    formSchema: any;
}) => SelectorOutPut) => [SelectorOutPut, (fn: (value: Partial<{
    modalInfo: (IModalActivity & {
        className?: string | undefined;
    }) | (IModalAnnexes & {
        className?: string | undefined;
    }) | (IModalDirection & {
        className?: string | undefined;
    });
    formules_schema: Record<string, FxSchema>;
    functions: Record<string, (value: any) => any>;
    mainConfig: switForm | otherForm;
    params: Record<string, any>;
    formString: string;
    submitCallback: (data: any) => void;
    cancelCallback: () => void;
    formSchema: any;
}>) => void) => void];
export declare const GeneralStoreProvider: ({ children, defaultValue }: {
    children: import("react").ReactNode;
    defaultValue?: Partial<{
        modalInfo: (IModalActivity & {
            className?: string | undefined;
        }) | (IModalAnnexes & {
            className?: string | undefined;
        }) | (IModalDirection & {
            className?: string | undefined;
        });
        formules_schema: Record<string, FxSchema>;
        functions: Record<string, (value: any) => any>;
        mainConfig: switForm | otherForm;
        params: Record<string, any>;
        formString: string;
        submitCallback: (data: any) => void;
        cancelCallback: () => void;
        formSchema: any;
    }> | undefined;
}) => import("react/jsx-runtime").JSX.Element;
export declare const useModalContext: () => {
    closeModal: () => void;
    setModal: (modal: IModals | undefined) => void;
    modalInfo: (IModalActivity & {
        className?: string | undefined;
    }) | (IModalAnnexes & {
        className?: string | undefined;
    }) | (IModalDirection & {
        className?: string | undefined;
    });
};
export {};
