import { SyntheticEvent } from 'react';
import { IAvatarComponent } from '@xverse/core';
import { EType, IAvatarUnitsComponent, SliderListType, IDiyFaceItem, IClothesItem, FaceType } from './config';
import { ICharacterCreatorProps } from './types';
export declare const useCharacterCreator: (props: Omit<ICharacterCreatorProps, "className" | "navStyle" | "navActiveStyle" | "diyFaceItemActiveStyle" | "clothesItemStyle" | "clothesItemActiveStyle" | "bottomCoverStyle" | "backBtnStyle" | "avatarGender" | "lockedImgStyle" | "saveButtonProps" | "switchIconImageUrl" | "onClickPrivateRule">) => {
    visible: boolean;
    currentType: EType;
    avatars: {
        avatarId: string;
        sexImageUrl: string;
    }[];
    delay3DContent: boolean;
    hasAvatarSelect: boolean;
    diyFaceModelMap: Record<"Face_Whole_Height" | "Face_Applezone_Width" | "Face_Applezone_VerticalPos" | "Face_Applezone_Thick" | "Face_Cheek_Width" | "Face_Cheek_VerticalPos" | "Face_Cheek_Thick" | "Face_LowerJaw_Width" | "Face_LowerJaw_VerticalPos" | "Face_Jaw_Wdith" | "Face_Jaw_Height" | "Face_Jaw_ZPos" | "EyeBrow_Whole_Margin" | "EyeBrow_Whole_VerticalPos" | "EyeBrow_Inner_HorizonPos" | "EyeBrow_Inner_VerticalPos" | "EyeBrow_Middle_HorizonPos" | "EyeBrow_Middle_VerticalPos" | "EyeBrow_Outter_HorizonPos" | "EyeBrow_Outter_VerticalPos" | "Eye_Whole_Scale" | "Eye_Whole_Margin" | "Eye_Whole_VerticalPos" | "Eye_Whole2_ZPos" | "Eye_Whole2_Rotate" | "Eye_Whole2_Eyelid" | "Eye_CornInner_Margin" | "Eye_CornInner_VerticalPos" | "Eye_CornOutter_Margin" | "Eye_CornOutter_VerticalPos" | "Eye_UpEyelid_Shape" | "Eye_UpEyelid_VerticalPos" | "Eye_LowEyelid_Shape" | "Eye_LowEyelid_VerticalPos" | "Nose_Whole_Width" | "Nose_Whole_Height" | "Nose_NasalTip_Scale" | "Nose_NasalTip_VerticalPos" | "Nose_NasalTip_ZPos" | "Nose_NoseWing_Width" | "Nose_NoseWing_VerticalPos" | "Nose_NoseBridge_Width" | "Nose_NoseBridge_ZPos" | "Mouth_Whole_Scale" | "Mouth_Whole_VerticalPos" | "Mouth_Whole_ZPos" | "Mouth_UpLip_Width" | "Mouth_UpLip_Height" | "Mouth_Lip_MShape" | "Mouth_Lip_VerticalPos" | "Mouth_LowLip_Width" | "Mouth_LowLip_Height" | "Mouth_Corn_Width" | "Mouth_Corn_VerticalPos", number>;
    modelCurrent: "Face_Whole" | "Face_Applezone" | "Face_Cheek" | "Face_LowerJaw" | "Face_Jaw" | "Eye_Whole" | "Eye_Whole2" | "Eye_CornInner" | "Eye_CornOutter" | "Eye_UpEyelid" | "Eye_LowEyelid" | "EyeBrow_Whole" | "EyeBrow_Inner" | "EyeBrow_Middle" | "EyeBrow_Outter" | "Nose_Whole" | "Nose_NasalTip" | "Nose_NoseWing" | "Nose_NoseBridge" | "Mouth_Whole" | "Mouth_UpLip" | "Mouth_Lip" | "Mouth_LowLip" | "Mouth_Corn";
    isOpenCamera: boolean;
    hasSkin: boolean;
    hasDiyFace: boolean;
    hasDressUp: boolean;
    hasAIFace: boolean;
    firstNav: {
        DressUp: {
            defaultImage: string;
            activeImage: string;
        };
        DiyFace: {
            defaultImage: string;
            activeImage: string;
        };
        AIFace: {
            defaultImage: string;
            activeImage: string;
        };
        Skin: {
            defaultImage: string;
            activeImage: string;
        };
    };
    currentAvatarId: any;
    diyFaceCurrentHistoryRef: import("react").MutableRefObject<number>;
    canNext: boolean;
    canRedo: boolean;
    avatarComponents: IAvatarUnitsComponent[];
    lockedItemSelect: boolean;
    dressUpNavInfo: IClothesItem[];
    realDiyFaceList: FaceType[];
    currNav: number;
    diyFaceModel: {
        FaceModel: IDiyFaceItem;
        EyeBrowModel: IDiyFaceItem;
        EyeModel: IDiyFaceItem;
        MouthModel: IDiyFaceItem;
        NoseModel: IDiyFaceItem;
    };
    selectComponents: IAvatarComponent[];
    lockedComponents: string;
    skinActiveNum: number;
    diyFaceOn3D: (key: SliderListType, val: number) => void;
    setModelCurrent: import("react").Dispatch<import("react").SetStateAction<"Face_Whole" | "Face_Applezone" | "Face_Cheek" | "Face_LowerJaw" | "Face_Jaw" | "Eye_Whole" | "Eye_Whole2" | "Eye_CornInner" | "Eye_CornOutter" | "Eye_UpEyelid" | "Eye_LowEyelid" | "EyeBrow_Whole" | "EyeBrow_Inner" | "EyeBrow_Middle" | "EyeBrow_Outter" | "Nose_Whole" | "Nose_NasalTip" | "Nose_NoseWing" | "Nose_NoseBridge" | "Mouth_Whole" | "Mouth_UpLip" | "Mouth_Lip" | "Mouth_LowLip" | "Mouth_Corn">>;
    dressUpComponentClickHandle: (event: SyntheticEvent<HTMLDivElement>) => Promise<void>;
    setIsOpenCamera: import("react").Dispatch<import("react").SetStateAction<boolean>>;
    setDiyFaceCurrentHistory: import("react").Dispatch<import("react").SetStateAction<number>>;
    exitHandle: () => Promise<void>;
    setHistoryDiyFaceMap: import("react").Dispatch<import("react").SetStateAction<Record<"Face_Whole_Height" | "Face_Applezone_Width" | "Face_Applezone_VerticalPos" | "Face_Applezone_Thick" | "Face_Cheek_Width" | "Face_Cheek_VerticalPos" | "Face_Cheek_Thick" | "Face_LowerJaw_Width" | "Face_LowerJaw_VerticalPos" | "Face_Jaw_Wdith" | "Face_Jaw_Height" | "Face_Jaw_ZPos" | "EyeBrow_Whole_Margin" | "EyeBrow_Whole_VerticalPos" | "EyeBrow_Inner_HorizonPos" | "EyeBrow_Inner_VerticalPos" | "EyeBrow_Middle_HorizonPos" | "EyeBrow_Middle_VerticalPos" | "EyeBrow_Outter_HorizonPos" | "EyeBrow_Outter_VerticalPos" | "Eye_Whole_Scale" | "Eye_Whole_Margin" | "Eye_Whole_VerticalPos" | "Eye_Whole2_ZPos" | "Eye_Whole2_Rotate" | "Eye_Whole2_Eyelid" | "Eye_CornInner_Margin" | "Eye_CornInner_VerticalPos" | "Eye_CornOutter_Margin" | "Eye_CornOutter_VerticalPos" | "Eye_UpEyelid_Shape" | "Eye_UpEyelid_VerticalPos" | "Eye_LowEyelid_Shape" | "Eye_LowEyelid_VerticalPos" | "Nose_Whole_Width" | "Nose_Whole_Height" | "Nose_NasalTip_Scale" | "Nose_NasalTip_VerticalPos" | "Nose_NasalTip_ZPos" | "Nose_NoseWing_Width" | "Nose_NoseWing_VerticalPos" | "Nose_NoseBridge_Width" | "Nose_NoseBridge_ZPos" | "Mouth_Whole_Scale" | "Mouth_Whole_VerticalPos" | "Mouth_Whole_ZPos" | "Mouth_UpLip_Width" | "Mouth_UpLip_Height" | "Mouth_Lip_MShape" | "Mouth_Lip_VerticalPos" | "Mouth_LowLip_Width" | "Mouth_LowLip_Height" | "Mouth_Corn_Width" | "Mouth_Corn_VerticalPos", number>[]>>;
    typeChangeClickHandle2: (type: EType) => void;
    typeChangeClickHandle: (event: SyntheticEvent<HTMLDivElement>) => void;
    diyAllFaceData: (data: Record<SliderListType, number>) => void;
    changeNavHandle: (event: SyntheticEvent<HTMLDivElement>) => void;
    saveHandle: () => Promise<void>;
    redoHandle: () => void;
    nextHandle: () => Promise<void>;
    refreshHandle: () => Promise<void>;
    changeAvatarId: () => Promise<void>;
    diyFaceClickHandle: (sliderValue: number, tabType: SliderListType) => void;
    handleSkinClick: (index: number) => Promise<void>;
};
