import { SimpleTagPropsT, CustomEventT } from '../Base';
import * as React from 'react';
/***************************************************************************************
 * Drawer Headers
 ***************************************************************************************/
export declare const DrawerHeaderRoot: {
    new <P>(props: any, context?: any): {
        render(): React.ReactElement<any> | null;
        setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: any) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
        forceUpdate(callBack?: (() => void) | undefined): void;
        props: Readonly<{
            children?: React.ReactNode;
        }> & Readonly<any>;
        state: Readonly<{}>;
        context: any;
        refs: {
            [key: string]: React.ReactInstance;
        };
    };
    displayName: string;
    defaultProps: {
        tag: string | React.ComponentClass<any> | React.StatelessComponent<any>;
        constructor: Function;
        toString(): string;
        toLocaleString(): string;
        valueOf(): Object;
        hasOwnProperty(v: string | number | symbol): boolean;
        isPrototypeOf(v: Object): boolean;
        propertyIsEnumerable(v: string | number | symbol): boolean;
    };
    isSimpleTag: boolean;
};
export declare const DrawerHeaderContent: {
    new <P>(props: any, context?: any): {
        render(): React.ReactElement<any> | null;
        setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: any) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
        forceUpdate(callBack?: (() => void) | undefined): void;
        props: Readonly<{
            children?: React.ReactNode;
        }> & Readonly<any>;
        state: Readonly<{}>;
        context: any;
        refs: {
            [key: string]: React.ReactInstance;
        };
    };
    displayName: string;
    defaultProps: {
        tag: string | React.ComponentClass<any> | React.StatelessComponent<any>;
        constructor: Function;
        toString(): string;
        toLocaleString(): string;
        valueOf(): Object;
        hasOwnProperty(v: string | number | symbol): boolean;
        isPrototypeOf(v: Object): boolean;
        propertyIsEnumerable(v: string | number | symbol): boolean;
    };
    isSimpleTag: boolean;
};
/** A Header for Drawers */
export declare class DrawerHeader extends React.Component<SimpleTagPropsT> {
    render(): JSX.Element;
}
/** If you are using fixed a Toolbar, this provides space for it. */
export declare const DrawerToolbarSpacer: {
    new <P>(props: any, context?: any): {
        render(): React.ReactElement<any> | null;
        setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: any) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
        forceUpdate(callBack?: (() => void) | undefined): void;
        props: Readonly<{
            children?: React.ReactNode;
        }> & Readonly<any>;
        state: Readonly<{}>;
        context: any;
        refs: {
            [key: string]: React.ReactInstance;
        };
    };
    displayName: string;
    defaultProps: {
        tag: string | React.ComponentClass<any> | React.StatelessComponent<any>;
        constructor: Function;
        toString(): string;
        toLocaleString(): string;
        valueOf(): Object;
        hasOwnProperty(v: string | number | symbol): boolean;
        isPrototypeOf(v: Object): boolean;
        propertyIsEnumerable(v: string | number | symbol): boolean;
    };
    isSimpleTag: boolean;
};
/***************************************************************************************
 * Drawer Content
 ***************************************************************************************/
/** Content for Drawers. Please note this is an instance of mdc-list by default. You can change this to a a non list container by specifying the tag as 'div' or anything else. */
export declare const DrawerContent: {
    new <P>(props: any, context?: any): {
        render(): React.ReactElement<any> | null;
        setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: any) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
        forceUpdate(callBack?: (() => void) | undefined): void;
        props: Readonly<{
            children?: React.ReactNode;
        }> & Readonly<any>;
        state: Readonly<{}>;
        context: any;
        refs: {
            [key: string]: React.ReactInstance;
        };
    };
    displayName: string;
    defaultProps: {
        tag: string | React.ComponentClass<any> | React.StatelessComponent<any>;
        constructor: Function;
        toString(): string;
        toLocaleString(): string;
        valueOf(): Object;
        hasOwnProperty(v: string | number | symbol): boolean;
        isPrototypeOf(v: Object): boolean;
        propertyIsEnumerable(v: string | number | symbol): boolean;
    };
    isSimpleTag: boolean;
};
/***************************************************************************************
 * Drawers
 ***************************************************************************************/
export declare type DrawerPropsT = {
    /** Opens or closes the Drawer. */
    open: boolean;
    /** Callback that fires when the Drawer is closed. */
    onClose?: (evt: CustomEventT) => any;
    /** Callback that fires when the Drawer is opened. */
    onOpen?: (evt: CustomEventT) => any;
    /** Makes a permanent drawer. */
    permanent?: boolean;
    /** Makes a persistent drawer. */
    persistent?: boolean;
    /** Makes a temporary drawer. */
    temporary?: boolean;
} & SimpleTagPropsT;
export declare const DrawerRoot: {
    new <P>(props: any, context?: any): {
        render(): React.ReactElement<any> | null;
        setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: any) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
        forceUpdate(callBack?: (() => void) | undefined): void;
        props: Readonly<{
            children?: React.ReactNode;
        }> & Readonly<any>;
        state: Readonly<{}>;
        context: any;
        refs: {
            [key: string]: React.ReactInstance;
        };
    };
    displayName: string;
    defaultProps: {
        tag: string | React.ComponentClass<any> | React.StatelessComponent<any>;
        constructor: Function;
        toString(): string;
        toLocaleString(): string;
        valueOf(): Object;
        hasOwnProperty(v: string | number | symbol): boolean;
        isPrototypeOf(v: Object): boolean;
        propertyIsEnumerable(v: string | number | symbol): boolean;
    };
    isSimpleTag: boolean;
};
export declare const DrawerDrawer: {
    new <P>(props: any, context?: any): {
        render(): React.ReactElement<any> | null;
        setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: any) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
        forceUpdate(callBack?: (() => void) | undefined): void;
        props: Readonly<{
            children?: React.ReactNode;
        }> & Readonly<any>;
        state: Readonly<{}>;
        context: any;
        refs: {
            [key: string]: React.ReactInstance;
        };
    };
    displayName: string;
    defaultProps: {
        tag: string | React.ComponentClass<any> | React.StatelessComponent<any>;
        constructor: Function;
        toString(): string;
        toLocaleString(): string;
        valueOf(): Object;
        hasOwnProperty(v: string | number | symbol): boolean;
        isPrototypeOf(v: Object): boolean;
        propertyIsEnumerable(v: string | number | symbol): boolean;
    };
    isSimpleTag: boolean;
};
export declare const Drawer: React.ComponentType<DrawerPropsT>;
