export declare const useDialogModel: (<TT_Special_Generic>(config?: (Partial<{
    returnFocusRef: import("react").RefObject<any> | undefined;
    initialFocusRef: import("react").RefObject<any> | undefined;
    id: string;
    initialVisibility: import("../../..").Visibility;
}> & {
    onUpdatePlacement?: ((data: {
        placement: import("@popperjs/core").Placement;
    }, prevState: {
        stackRef: import("react").RefObject<HTMLDivElement>;
        targetRef: import("react").RefObject<HTMLButtonElement>;
        initialFocusRef: import("react").RefObject<any> | undefined;
        returnFocusRef: import("react").RefObject<any> | undefined;
        placement: import("@popperjs/core").Placement;
        id: string;
        visibility: "hidden" | "visible";
    }) => void) | undefined;
    onShow?: ((data: Event | import("react").SyntheticEvent<Element, Event> | undefined, prevState: {
        stackRef: import("react").RefObject<HTMLDivElement>;
        targetRef: import("react").RefObject<HTMLButtonElement>;
        initialFocusRef: import("react").RefObject<any> | undefined;
        returnFocusRef: import("react").RefObject<any> | undefined;
        placement: import("@popperjs/core").Placement;
        id: string;
        visibility: "hidden" | "visible";
    }) => void) | undefined;
    onHide?: ((data: Event | import("react").SyntheticEvent<Element, Event> | undefined, prevState: {
        stackRef: import("react").RefObject<HTMLDivElement>;
        targetRef: import("react").RefObject<HTMLButtonElement>;
        initialFocusRef: import("react").RefObject<any> | undefined;
        returnFocusRef: import("react").RefObject<any> | undefined;
        placement: import("@popperjs/core").Placement;
        id: string;
        visibility: "hidden" | "visible";
    }) => void) | undefined;
} & {
    shouldUpdatePlacement?: ((data: {
        placement: import("@popperjs/core").Placement;
    }, state: {
        stackRef: import("react").RefObject<HTMLDivElement>;
        targetRef: import("react").RefObject<HTMLButtonElement>;
        initialFocusRef: import("react").RefObject<any> | undefined;
        returnFocusRef: import("react").RefObject<any> | undefined;
        placement: import("@popperjs/core").Placement;
        id: string;
        visibility: "hidden" | "visible";
    }) => boolean) | undefined;
    shouldShow?: ((data: Event | import("react").SyntheticEvent<Element, Event> | undefined, state: {
        stackRef: import("react").RefObject<HTMLDivElement>;
        targetRef: import("react").RefObject<HTMLButtonElement>;
        initialFocusRef: import("react").RefObject<any> | undefined;
        returnFocusRef: import("react").RefObject<any> | undefined;
        placement: import("@popperjs/core").Placement;
        id: string;
        visibility: "hidden" | "visible";
    }) => boolean) | undefined;
    shouldHide?: ((data: Event | import("react").SyntheticEvent<Element, Event> | undefined, state: {
        stackRef: import("react").RefObject<HTMLDivElement>;
        targetRef: import("react").RefObject<HTMLButtonElement>;
        initialFocusRef: import("react").RefObject<any> | undefined;
        returnFocusRef: import("react").RefObject<any> | undefined;
        placement: import("@popperjs/core").Placement;
        id: string;
        visibility: "hidden" | "visible";
    }) => boolean) | undefined;
}) | undefined) => {
    state: {
        stackRef: import("react").RefObject<HTMLDivElement>;
        targetRef: import("react").RefObject<HTMLButtonElement>;
        initialFocusRef: import("react").RefObject<any> | undefined;
        returnFocusRef: import("react").RefObject<any> | undefined;
        placement: import("@popperjs/core").Placement;
        id: string;
        visibility: "hidden" | "visible";
    };
    events: {
        updatePlacement(data: {
            placement: import("@popperjs/core").Placement;
        }): void;
        show(event?: Event | import("react").SyntheticEvent<Element, Event> | undefined): void;
        hide(event?: Event | import("react").SyntheticEvent<Element, Event> | undefined): void;
    };
}) & import("@workday/canvas-kit-react/common").ModelExtras<{
    returnFocusRef: import("react").RefObject<any> | undefined;
    initialFocusRef: import("react").RefObject<any> | undefined;
    id: string;
    initialVisibility: import("../../..").Visibility;
}, {}, {
    stackRef: import("react").RefObject<HTMLDivElement>;
    targetRef: import("react").RefObject<HTMLButtonElement>;
    initialFocusRef: import("react").RefObject<any> | undefined;
    returnFocusRef: import("react").RefObject<any> | undefined;
    placement: import("@popperjs/core").Placement;
    id: string;
    visibility: "hidden" | "visible";
}, {
    updatePlacement(data: {
        placement: import("@popperjs/core").Placement;
    }): void;
    show(event?: Event | import("react").SyntheticEvent<Element, Event> | undefined): void;
    hide(event?: Event | import("react").SyntheticEvent<Element, Event> | undefined): void;
}, {
    state: {
        stackRef: import("react").RefObject<HTMLDivElement>;
        targetRef: import("react").RefObject<HTMLButtonElement>;
        initialFocusRef: import("react").RefObject<any> | undefined;
        returnFocusRef: import("react").RefObject<any> | undefined;
        placement: import("@popperjs/core").Placement;
        id: string;
        visibility: "hidden" | "visible";
    };
    events: {
        updatePlacement(data: {
            placement: import("@popperjs/core").Placement;
        }): void;
        show(event?: Event | import("react").SyntheticEvent<Element, Event> | undefined): void;
        hide(event?: Event | import("react").SyntheticEvent<Element, Event> | undefined): void;
    };
}>;
//# sourceMappingURL=useDialogModel.d.ts.map