import * as React from 'react';
import { CSSTransitionProps } from '../csstransition/CSSTransition';
export type SidebarPositionType = 'top' | 'bottom' | 'left' | 'right';
type SidebarTemplateType = React.ReactNode | ((props: SidebarProps) => React.ReactNode);
type SidebarAppendToType = 'self' | HTMLElement | undefined | null;
export interface SidebarProps extends Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'ref'> {
    maskStyle?: React.CSSProperties;
    maskClassName?: string;
    visible?: boolean;
    position?: SidebarPositionType;
    fullScreen?: boolean;
    blockScroll?: boolean;
    baseZIndex?: number;
    dismissable?: boolean;
    showCloseIcon?: boolean;
    ariaCloseLabel?: string;
    closeOnEscape?: boolean;
    icons?: SidebarTemplateType;
    headerTitle?: string;
    headerClass?: string;
    modal?: boolean;
    appendTo?: SidebarAppendToType;
    transitionOptions?: CSSTransitionProps;
    onShow?(): void;
    onHide(): void;
    onSecondaryButtonClick?(e: React.MouseEvent<HTMLElement>): void;
    children?: React.ReactNode;
    secondaryButton?: string;
}
export declare class Sidebar extends React.Component<SidebarProps, any> {
    getElement(): HTMLDivElement;
    getMask(): HTMLElement;
    getCloseIcon(): HTMLButtonElement;
}
export {};
