import { IExportConfig, IExportResponse } from "@gooddata/gooddata-js";
import { IDrillEventCallback, IDrillEventExtendedCallback } from "./DrillEvents";
import { RuntimeError } from "../errors/RuntimeError";
export interface ILoadingState {
    isLoading: boolean;
}
export declare type OnError = (error: RuntimeError) => void;
export declare type OnLoadingChanged = (loadingState: ILoadingState) => void;
export declare type OnLoadingFinish = (result: object) => void;
export declare type OnFiredDrillEvent = IDrillEventCallback;
export declare type OnDrill = IDrillEventExtendedCallback;
export interface IExtendedExportConfig extends IExportConfig {
    includeFilterContext?: boolean;
}
export declare type IExportFunction = (exportConfig: IExtendedExportConfig) => Promise<IExportResponse>;
export declare type OnExportReady = (exportFunction: IExportFunction) => void;
export interface ILegendItem {
    name: string;
    color: string;
    onClick: () => void;
}
export interface ILegendData {
    legendItems: ILegendItem[];
}
export declare type OnLegendReady = (data: ILegendData) => void;
export interface IEvents {
    onError?: OnError;
    onExportReady?: OnExportReady;
    onLoadingChanged?: OnLoadingChanged;
    onLoadingFinish?: OnLoadingFinish;
    onFiredDrillEvent?: OnFiredDrillEvent;
    onDrill?: OnDrill;
}
