import * as React from "react";
import { SDK } from "@gooddata/gooddata-js";
import { ISeparators } from "@gooddata/numberjs";
import { AFM } from "@gooddata/typings";
import { WrappedComponentProps } from "react-intl";
import { IExecuteProps } from "../../execution/Execute";
import { ILoadingProps } from "./LoadingComponent";
import { IErrorProps } from "./ErrorComponent";
import { IEvents } from "../../interfaces/Events";
import { Requireable } from "../../proptypes/Kpi";
export { Requireable };
export interface IKpiProps extends IEvents {
    measure: string;
    projectId: string;
    locale?: string;
    sdk?: SDK;
    filters?: AFM.FilterItem[];
    format?: string;
    separators?: ISeparators;
    ExecuteComponent?: React.ComponentType<IExecuteProps>;
    LoadingComponent?: React.ComponentType<ILoadingProps>;
    ErrorComponent?: React.ComponentType<IErrorProps>;
}
export declare const KpiError: (props: IErrorProps) => JSX.Element;
export declare class KpiWrapped extends React.PureComponent<IKpiProps & WrappedComponentProps> {
    static defaultProps: Partial<IKpiProps & WrappedComponentProps>;
    static propTypes: {
        filters: any;
        format: Requireable<any>;
        measure: import("prop-types").Validator<any>;
        projectId: import("prop-types").Validator<any>;
        ErrorComponent: Requireable<any>;
        LoadingComponent: Requireable<any>;
        onError: Requireable<any>;
        onLoadingChanged: Requireable<any>;
        onLoadingFinish: Requireable<any>;
        afterRender: Requireable<any>;
        pushData: Requireable<any>;
    };
    render(): JSX.Element;
    private getFormattedResult;
    private extractNumber;
}
export declare const IntlKpi: React.FunctionComponent<import("react-intl").WithIntlProps<IKpiProps & WrappedComponentProps<"intl">>> & {
    WrappedComponent: React.ComponentType<IKpiProps & WrappedComponentProps<"intl">>;
};
/**
 * [Kpi](http://sdk.gooddata.com/gooddata-ui/docs/react_components.html#kpi)
 * is a component that renders a KPI using bucket props measure, filters
 */
export declare class Kpi extends React.Component<IKpiProps, null> {
    render(): JSX.Element;
}
