/************
Processor: ts
************/

import * as __beyond_dep_ns_0 from 'react';
import __beyond_dep_def_0 from 'react';
import * as __beyond_dep_ns_1 from 'pragmate-ui/base';
// animations.tsx
declare namespace ns_0 {
  export const animations: {
    slideDown: {
      initial: {
        y: string;
        opacity: number;
      };
      animate: {
        y: number;
        opacity: number;
        transition: {
          duration: number;
        };
      };
      exit: {
        y: string;
        opacity: number;
        transition: {
          duration: number;
        };
      };
    };
    default: {
      initial: {
        opacity: number;
      };
      animate: {
        y: number;
        opacity: number;
        transition: {
          duration: number;
        };
      };
      exit: {
        y: string;
        opacity: number;
        transition: {
          duration: number;
        };
      };
    };
    fadeInUpfadeOutLeft: {
      initial: {
        y: string;
        opacity: number;
      };
      animate: {
        y: number;
        opacity: number;
        transition: {
          duration: number;
        };
      };
      exit: {
        x: string;
        opacity: number;
        transition: {
          duration: number;
        };
      };
    };
  };
}


// close-button.tsx
declare namespace ns_1 {
  import React = __beyond_dep_def_0;
  export interface CloseButtonProps {
    className?: string;
    onClick?: () => void;
  }
  export function CloseButton({
    className,
    onClick
  }: Partial<CloseButtonProps>): React.JSX.Element;
}


// context.tsx
declare namespace ns_2 {
  import React = __beyond_dep_def_0;
  export interface DrawerContextType {
    open: boolean;
    onClose: () => void;
  }
  export const DrawerContext: React.Context<DrawerContextType>;
  export const useDrawerContext: () => DrawerContextType;
}


// index.tsx
declare namespace ns_3 {
  import React = __beyond_dep_ns_0;
  import IPUIProps = __beyond_dep_ns_1.IPUIProps;
  interface DrawerProps extends IPUIProps {
    position?: 'left' | 'right' | 'top' | 'bottom';
    open: boolean;
    onClose: () => void;
  }
  export function Drawer({
    className,
    position,
    open,
    onClose,
    children
  }: DrawerProps): React.JSX.Element;
  export {};
}


export import CloseButton = ns_1.CloseButton;
export import useDrawerContext = ns_2.useDrawerContext;
export import Drawer = ns_3.Drawer;

export declare const hmr: {on: (event: string, listener: any) => void, off: (event: string, listener: any) => void };