import { Component, MouseEventHandler, ReactNode } from 'react';
import { AbstractTooltipProps, RenderFunction } from '../tooltip';
import { ButtonProps } from '../button';
import { ButtonType } from '../button/Button';
import ConfigContext, { ConfigContextValue } from '../config-provider/ConfigContext';
export interface PopconfirmProps extends AbstractTooltipProps {
    title: ReactNode | RenderFunction;
    onConfirm?: MouseEventHandler<any>;
    onCancel?: MouseEventHandler<any>;
    okText?: ReactNode;
    okType?: ButtonType;
    cancelText?: ReactNode;
    iconType?: string;
    okButtonProps?: ButtonProps;
    cancelButtonProps?: ButtonProps;
}
export interface PopconfirmState {
    visible?: boolean;
}
export interface PopconfirmLocale {
    okText: string;
    cancelText: string;
}
export default class Popconfirm extends Component<PopconfirmProps, PopconfirmState> {
    static displayName: string;
    static get contextType(): typeof ConfigContext;
    static defaultProps: {
        transitionName: string;
        placement: string;
        trigger: string;
        okType: string;
        iconType: string;
    };
    context: ConfigContextValue;
    private tooltip;
    constructor(props: PopconfirmProps);
    componentWillReceiveProps(nextProps: PopconfirmProps): void;
    getPopupDomNode(): any;
    onConfirm: MouseEventHandler<HTMLButtonElement>;
    onCancel: MouseEventHandler<HTMLButtonElement>;
    onVisibleChange: (visible: boolean) => void;
    setVisible(visible: boolean): void;
    saveTooltip: (node: any) => void;
    renderOverlayWithLocale: (popconfirmLocale: PopconfirmLocale) => JSX.Element;
    renderLocale: () => JSX.Element;
    getPrefixCls(): string;
    render(): JSX.Element;
}
