interface BrowserSize {
    width: number;
    height: number;
}
interface DrawerSize {
    width: number;
    height: number;
    contentHeight: number;
    controlsHeight: number;
}
export declare class XDrawer {
    /**
     * Element show content
     */
    show?: boolean;
    /**
     * Drawer state of the content
     */
    contentShow: boolean;
    /**
     * Browser dimensions properties
     */
    browser: BrowserSize;
    /**
     * Drawer dimensions properties
     */
    drawer: DrawerSize;
    /**
     * Drawer with radius border state
     */
    withRadiusBorder: boolean;
    /**
     * Drawer is dragging state
     */
    isDragging: boolean;
    /**
     * Drawer touch start state
     */
    touchStart: TouchEvent | null;
    /**
     * Drawer touch end state
     */
    touchEnd: TouchEvent | null;
    /**
     * Component element
     */
    el: HTMLElement;
    /**
     * Handles by touch if the drawer has to be open or closed
     */
    handleTouchGesture(): void;
    /**
     * Shows the Drawer by state
     *
     * @param state
     */
    expand(state: boolean): Promise<void>;
    /**
     * Gets the drawer content element
     *
     * @returns HTMLDivElement
     */
    private getDrawerContent;
    /**
     * Gets the drawer controls element
     *
     * @returns HTMLDivElement
     */
    private getDrawerControls;
    /**
     * Sets the browser dimensions properties
     */
    private setupBrowserSize;
    /**
     * Sets the drawer dimensions properties
     */
    private setupDrawerSizes;
    /**
     * Setup the component container
     */
    private setupContainer;
    /**
     * To control if the Drawer content has to be shown
     *
     * @param ev
     * @returns
     */
    private onContentShow;
    /**
     * Before mount the element
     */
    componentWillLoad(): void;
    /**
     * Render component
     */
    render(): any;
}
export {};
