import { PopupButtonProps, Status } from "../contexts/Notification";
import { ValidationProperties } from "../../../types";
import { INotificationLocale } from "../locales";
export declare const useLayout: () => {
    config: {
        layout: {
            sider: {
                left: {
                    element: import("react").ReactNode | null;
                    active: boolean;
                };
                right: {
                    element: import("react").ReactNode | null;
                    active: boolean;
                };
            };
        };
        perPage: number;
    };
    setConfig: import("react").Dispatch<import("react").SetStateAction<{
        layout: {
            sider: {
                left: {
                    element: import("react").ReactNode | null;
                    active: boolean;
                };
                right: {
                    element: import("react").ReactNode | null;
                    active: boolean;
                };
            };
        };
        perPage: number;
    }>>;
};
export declare const useLoading: () => {
    isLoading: boolean;
    setIsLoading: import("react").Dispatch<import("react").SetStateAction<boolean>>;
};
export declare const useLanguage: () => string | undefined;
export declare const useTranslation: <TBaseLocale>(currentLanguage: string | undefined, translations?: {
    [key: string]: any;
}) => {
    t: (key: keyof TBaseLocale | keyof INotificationLocale, ...args: any[]) => string;
    currentLanguage: string | undefined;
};
export declare const useNotification: () => {
    notification: ({ title, message, status }: {
        title: string;
        message?: string;
        status: Status | number;
    }) => void;
    popup: ({ title, message, status, }: {
        title: string;
        message?: string;
        status: Status | number;
    }, buttons?: PopupButtonProps | null) => void;
};
export declare const useValidation: <TData extends object>(data: TData, params: ValidationProperties<TData>[], step?: number) => {
    onSubmit: (callback: (result: boolean) => void) => void;
    setSubmit: import("react").Dispatch<import("react").SetStateAction<boolean>>;
    errors: Partial<{ [key in keyof TData]: string; }>;
};
