import { Ref, SetupContext } from "vue";
import { LookupProps } from "../lookup.props";
import { UserDataService } from "./use-user-data";
import { UseHttpComposition } from "./use-http";
type DictPickedResult = boolean | {
    closeDialog: boolean;
    message?: string;
};
export interface UseDialogOptions {
    dictPicked: (items: any) => Promise<DictPickedResult>;
    modelValue: Ref<any>;
    buttonEditInstance: Ref<any>;
    userDataService: UserDataService;
    useHttp: UseHttpComposition;
}
export declare function useDialog(props: LookupProps, context: SetupContext, selectedItems: Ref<any[]>, { dictPicked, modelValue, buttonEditInstance, userDataService, useHttp }: UseDialogOptions): {
    modalOptions: {
        title: string;
        fitContent: boolean;
        showHeader: boolean;
        dragHandle: string;
        height: number;
        width: number;
        minWidth: number;
        minHeight: number;
        resizeable: boolean;
        draggable: boolean;
        enableEsc: boolean;
        closedCallback: ($event: Event, closeFrom: string) => void;
        showButtons: boolean;
        resizeHandle: ($event: any) => void;
        enableEnter: boolean;
        onEnter: ($event: any) => void;
    };
    beforeOpenDialog: ($event?: any) => Promise<boolean>;
    dialogSize: Ref<any, any>;
    customData: Ref<any, any>;
    updateModelValue: () => Promise<DictPickedResult>;
    cancelDialog: () => boolean;
    submitDialog: () => Promise<boolean>;
};
export {};
