///
import { IselectedOption } from "../atoms/forms/selectBox/SelectBox";
import { TLanguageShort } from "../types/enum";
export declare type IUseFetch = [any, boolean, boolean, (url: string | undefined) => void];
declare const useShouldSave: (updateValue: any[]) => {
shouldSave: boolean;
setShouldSave: import("react").Dispatch>;
};
declare const useFetch: (url?: string) => [any, boolean, boolean, (url: string) => void];
declare function useDebounce(value: any, delay: number): any;
export interface TUseInput {
value: T;
onChangeValid: (value: boolean | string) => void;
onChange: (foo: T) => void;
isValid: any;
}
export declare type TUseRedirect = [boolean, string, (url: string) => void];
declare function useRedirect(inFlag?: boolean, inUrl?: string): TUseRedirect;
declare function useInput(defaultValue: T, defulatValid?: boolean | string): TUseInput;
declare function useCheckBox(defaultValue: boolean): {
checked: boolean;
onChange: (value: boolean) => void;
};
export interface IUseDayPicker {
from: Date | null;
setFrom: React.Dispatch>;
to: Date | null;
setTo: React.Dispatch>;
entered: Date | null;
setEntered: React.Dispatch>;
setDate: (date: Date) => void;
}
declare function useDayPicker(defaultFrom: Date | null | string, defaultTo: Date | null | string): IUseDayPicker;
export interface IUseColor {
color: string;
setColor: (inInfo: string) => void;
setDisplay: (inInfo: boolean) => void;
display: boolean;
}
declare function useColorPicker(defaultValue: string | null): IUseColor;
declare function useRadio(defaultValue?: any): any[];
declare function useSwitch(defaultValue: boolean): {
checked: boolean;
onChange: (value: boolean) => void;
};
declare function useDrawer(defaultValue: boolean): {
open: boolean;
onClick: (e: any) => void;
};
declare function useRange(defaultValue: number): {
value: number;
onChange: (value: any) => void;
};
export interface IUseSelect {
selectedOption: IselectedOption | null;
onChange(foo: IselectedOption): void;
}
export interface IUseDrawer {
onClick: (e: any) => void;
open: boolean;
}
declare function useSelect(defaultValue: IselectedOption | null): IUseSelect;
declare function useToggle(defaultValue: boolean): [boolean, any];
declare function useSideNav(): [boolean, any];
declare function usePagiNation(defaultValue: number): [number, (page: number) => void];
export interface IUseModal {
isOpen: boolean;
openModal: (inInfo?: T) => void;
closeModal: () => void;
info: T;
}
declare function useModal(defaultValue?: boolean, defaultInfo?: any): IUseModal;
export declare let CURRENT_LANG: TLanguageShort;
export declare let LANG: (key: string, key2?: string) => any;
export declare const JDlang: (lang: TLanguageShort, langSet: any, key: string, key2?: string) => any;
declare const useLang: (defaultLang: TLanguageShort, langSet: any) => {
currentLang: TLanguageShort;
changeLang: (lang: TLanguageShort) => void;
};
export interface IuseImageUploaderOP {
file?: any | null;
uploading?: boolean;
onChangeFile?(event: React.ChangeEvent): void;
}
export interface IuseImageUploader {
file?: any | null;
uploading: boolean;
isError: boolean;
onChangeFile(event: React.ChangeEvent): void;
setFile: React.Dispatch;
option?: IuseImageUploaderOption;
}
export interface IuseImageUploaderOption {
resizeMaxWidth?: number;
resizeMaxHeight?: number;
quality?: number;
}
export declare type IUploadImg = (uriOrFile: any, fileName?: string, fileType?: string) => Promise;
declare const _default: {
useInput: typeof useInput;
useCheckBox: typeof useCheckBox;
useRadio: typeof useRadio;
useSwitch: typeof useSwitch;
useSelect: typeof useSelect;
useToggle: typeof useToggle;
useFetch: (url?: string) => [any, boolean, boolean, (url: string) => void];
useModal: typeof useModal;
useSideNav: typeof useSideNav;
useRange: typeof useRange;
useDebounce: typeof useDebounce;
useDrawer: typeof useDrawer;
useLang: (defaultLang: TLanguageShort, langSet: any) => {
currentLang: TLanguageShort;
changeLang: (lang: TLanguageShort) => void;
};
useShouldSave: (updateValue: any[]) => {
shouldSave: boolean;
setShouldSave: import("react").Dispatch>;
};
useColorPicker: typeof useColorPicker;
useDayPicker: typeof useDayPicker;
usePagiNation: typeof usePagiNation;
useRedirect: typeof useRedirect;
};
export default _default;
export { useInput, useCheckBox, useRadio, useSwitch, useSelect, useToggle, useFetch, useModal, useSideNav, useRange, useDebounce, useDrawer, useLang, useShouldSave, useColorPicker, useDayPicker, usePagiNation, useRedirect };