import { HTMLAttributes, PureComponent, ReactNode } from 'react';
import LayoutContext, { LayoutContextValue } from './LayoutContext';
export declare type CollapseType = 'clickTrigger' | 'responsive';
export declare type SiderTheme = 'light' | 'dark';
export interface SiderProps extends HTMLAttributes<HTMLDivElement> {
    prefixCls?: string;
    collapsible?: boolean;
    collapsed?: boolean;
    defaultCollapsed?: boolean;
    reverseArrow?: boolean;
    onCollapse?: (collapsed: boolean, type: CollapseType) => void;
    trigger?: ReactNode;
    width?: number | string;
    collapsedWidth?: number | string;
    breakpoint?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
    theme?: SiderTheme;
    onBreakpoint?: (broken: boolean) => void;
}
export interface SiderState {
    collapsed?: boolean;
    below: boolean;
    belowShow?: boolean;
}
export interface SiderContext {
    siderCollapsed: boolean;
}
export default class Sider extends PureComponent<SiderProps, SiderState> {
    static displayName: string;
    static get contextType(): typeof LayoutContext;
    static __C7N_LAYOUT_SIDER: any;
    static defaultProps: {
        collapsible: boolean;
        defaultCollapsed: boolean;
        reverseArrow: boolean;
        width: number;
        collapsedWidth: number;
        style: {};
        theme: import("../tooltip").TooltipTheme;
    };
    context: LayoutContextValue;
    private mql;
    private uniqueId;
    constructor(props: SiderProps, context: LayoutContextValue);
    getContextValue(): {
        siderCollapsed: boolean | undefined;
        collapsedWidth: string | number | undefined;
    };
    componentWillReceiveProps(nextProps: SiderProps): void;
    componentDidMount(): void;
    componentWillUnmount(): void;
    responsiveHandler: (event: MediaQueryListEvent) => void;
    setCollapsed: (collapsed: boolean, type: CollapseType) => void;
    toggle: () => void;
    belowShowChange: () => void;
    render(): JSX.Element;
}
