import { App } from 'vue'; declare const OLayer: { new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins; default: string; }; unmountOnHide: { type: BooleanConstructor; default: boolean; }; mainClass: { type: import('vue').PropType>; }; mainTransition: { type: StringConstructor; default: string; }; maskTransition: { type: StringConstructor; default: string; }; transitionOrign: { type: import('vue').PropType<"mouse" | "css">; default: string; }; mask: { type: BooleanConstructor; default: boolean; }; maskClose: { type: BooleanConstructor; default: boolean; }; buttonClose: { type: BooleanConstructor; default: boolean; }; beforeShow: { type: import('vue').PropType<() => Promise | boolean>; }; beforeHide: { type: import('vue').PropType<() => Promise | boolean>; }; }>> & Readonly<{ onChange?: ((visible: boolean) => any) | undefined; "onUpdate:visible"?: ((value: boolean, evt?: MouseEvent | undefined) => any) | undefined; "onClick:mask"?: ((evt: MouseEvent) => any) | undefined; "onClick:button"?: ((evt: MouseEvent) => any) | undefined; }>, { toggle: (show?: boolean) => Promise; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { change: (visible: boolean) => any; "update:visible": (value: boolean, evt?: MouseEvent | undefined) => any; "click:mask": (evt: MouseEvent) => any; "click:button": (evt: MouseEvent) => any; }, import('vue').PublicProps, { mask: boolean; visible: boolean; wrapper: string | HTMLElement | null; unmountOnHide: boolean; mainTransition: string; maskTransition: string; transitionOrign: "css" | "mouse"; maskClose: boolean; buttonClose: boolean; }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, { layerRef: HTMLDivElement; mainRef: HTMLDivElement; }, any, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly; default: string; }; unmountOnHide: { type: BooleanConstructor; default: boolean; }; mainClass: { type: import('vue').PropType>; }; mainTransition: { type: StringConstructor; default: string; }; maskTransition: { type: StringConstructor; default: string; }; transitionOrign: { type: import('vue').PropType<"mouse" | "css">; default: string; }; mask: { type: BooleanConstructor; default: boolean; }; maskClose: { type: BooleanConstructor; default: boolean; }; buttonClose: { type: BooleanConstructor; default: boolean; }; beforeShow: { type: import('vue').PropType<() => Promise | boolean>; }; beforeHide: { type: import('vue').PropType<() => Promise | boolean>; }; }>> & Readonly<{ onChange?: ((visible: boolean) => any) | undefined; "onUpdate:visible"?: ((value: boolean, evt?: MouseEvent | undefined) => any) | undefined; "onClick:mask"?: ((evt: MouseEvent) => any) | undefined; "onClick:button"?: ((evt: MouseEvent) => any) | undefined; }>, { toggle: (show?: boolean) => Promise; }, {}, {}, {}, { mask: boolean; visible: boolean; wrapper: string | HTMLElement | null; unmountOnHide: boolean; mainTransition: string; maskTransition: string; transitionOrign: "css" | "mouse"; maskClose: boolean; buttonClose: boolean; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import('vue').ComponentOptionsBase; default: string; }; unmountOnHide: { type: BooleanConstructor; default: boolean; }; mainClass: { type: import('vue').PropType>; }; mainTransition: { type: StringConstructor; default: string; }; maskTransition: { type: StringConstructor; default: string; }; transitionOrign: { type: import('vue').PropType<"mouse" | "css">; default: string; }; mask: { type: BooleanConstructor; default: boolean; }; maskClose: { type: BooleanConstructor; default: boolean; }; buttonClose: { type: BooleanConstructor; default: boolean; }; beforeShow: { type: import('vue').PropType<() => Promise | boolean>; }; beforeHide: { type: import('vue').PropType<() => Promise | boolean>; }; }>> & Readonly<{ onChange?: ((visible: boolean) => any) | undefined; "onUpdate:visible"?: ((value: boolean, evt?: MouseEvent | undefined) => any) | undefined; "onClick:mask"?: ((evt: MouseEvent) => any) | undefined; "onClick:button"?: ((evt: MouseEvent) => any) | undefined; }>, { toggle: (show?: boolean) => Promise; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { change: (visible: boolean) => any; "update:visible": (value: boolean, evt?: MouseEvent | undefined) => any; "click:mask": (evt: MouseEvent) => any; "click:button": (evt: MouseEvent) => any; }, string, { mask: boolean; visible: boolean; wrapper: string | HTMLElement | null; unmountOnHide: boolean; mainTransition: string; maskTransition: string; transitionOrign: "css" | "mouse"; maskClose: boolean; buttonClose: boolean; }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => { $slots: { default?(_: {}): any; close?(_: {}): any; }; }) & { install(app: App): void; }; export { OLayer }; export * from './types';