import { SynShowEvent, SynAfterShowEvent, SynHideEvent, SynAfterHideEvent, SynInitialFocusEvent, SynRequestCloseEvent, SynDrawer } from '@synergy-design-system/components';
export type { SynShowEvent } from '@synergy-design-system/components';
export type { SynAfterShowEvent } from '@synergy-design-system/components';
export type { SynHideEvent } from '@synergy-design-system/components';
export type { SynAfterHideEvent } from '@synergy-design-system/components';
export type { SynInitialFocusEvent } from '@synergy-design-system/components';
export type { SynRequestCloseEvent } from '@synergy-design-system/components';
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
    /**
  * Indicates whether or not the drawer is open.
  * You can toggle this attribute to show and hide the drawer, or you can
  use the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.
   */
    open?: SynDrawer["open"];
    /**
  * The drawer's label as displayed in the header.
  * You should always include a relevant label even when using
  `no-header`, as it is required for proper accessibility.
  * If you need to display HTML, use the `label` slot instead.
   */
    label?: SynDrawer["label"];
    /**
     * The direction from which the drawer will open.
     */
    placement?: SynDrawer["placement"];
    /**
  * By default, the drawer slides out of its containing block (usually the viewport).
  * To make the drawer slide out of
  its parent element, set this attribute and add `position: relative` to the parent.
   */
    contained?: SynDrawer["contained"];
    /**
  * Removes the header.
  * This will also remove the default close button, so please ensure you provide an easy,
  accessible way for users to dismiss the drawer.
   */
    noHeader?: SynDrawer["noHeader"];
}, {
    nativeElement: import('vue').Ref<SynDrawer | undefined, SynDrawer | undefined>;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "syn-show": (e: SynShowEvent) => any;
    "syn-after-show": (e: SynAfterShowEvent) => any;
    "syn-hide": (e: SynHideEvent) => any;
    "syn-after-hide": (e: SynAfterHideEvent) => any;
    "syn-initial-focus": (e: SynInitialFocusEvent) => any;
    "syn-request-close": (e: SynRequestCloseEvent) => any;
}, string, import('vue').PublicProps, Readonly<{
    /**
  * Indicates whether or not the drawer is open.
  * You can toggle this attribute to show and hide the drawer, or you can
  use the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.
   */
    open?: SynDrawer["open"];
    /**
  * The drawer's label as displayed in the header.
  * You should always include a relevant label even when using
  `no-header`, as it is required for proper accessibility.
  * If you need to display HTML, use the `label` slot instead.
   */
    label?: SynDrawer["label"];
    /**
     * The direction from which the drawer will open.
     */
    placement?: SynDrawer["placement"];
    /**
  * By default, the drawer slides out of its containing block (usually the viewport).
  * To make the drawer slide out of
  its parent element, set this attribute and add `position: relative` to the parent.
   */
    contained?: SynDrawer["contained"];
    /**
  * Removes the header.
  * This will also remove the default close button, so please ensure you provide an easy,
  accessible way for users to dismiss the drawer.
   */
    noHeader?: SynDrawer["noHeader"];
}> & Readonly<{
    "onSyn-show"?: ((e: SynShowEvent) => any) | undefined;
    "onSyn-after-show"?: ((e: SynAfterShowEvent) => any) | undefined;
    "onSyn-hide"?: ((e: SynHideEvent) => any) | undefined;
    "onSyn-after-hide"?: ((e: SynAfterHideEvent) => any) | undefined;
    "onSyn-initial-focus"?: ((e: SynInitialFocusEvent) => any) | undefined;
    "onSyn-request-close"?: ((e: SynRequestCloseEvent) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    nativeElement: unknown;
}, any>, {
    default?(_: {}): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
