import { ApiBase } from '../Implementation/ApiBase';
import { ColDef, IRowNode } from 'ag-grid-enterprise';
import { AppIdentifier, Context, ContextType, Intent, IntentResolution, StandardContextType, StandardIntent } from '@finos/fdc3';
import { BroadcastConfig, RaiseIntentConfig } from '../../AdaptableOptions/Fdc3Options';
import { AdaptableButton } from '../../AdaptableState/Common/AdaptableButton';
import { ActionColumnContext } from '../../AdaptableOptions/ActionColumnOptions';
import { AdaptableIcon } from '../../AdaptableState/Common/AdaptableIcon';
export type WithContext<K> = K & {
    contextType: ContextType;
};
export type WithIntent<K> = K & {
    intentType: Intent;
};
export declare class Fdc3InternalApi extends ApiBase {
    mapRowToContextData(contextType: ContextType, rowNode: IRowNode): Context;
    getFdc3ColumnIds(): string[];
    getFdc3ActionColDefs(): ColDef[];
    getButtonsForFdc3MainActionColumn(): AdaptableButton<ActionColumnContext<any>>[];
    getButtonsForFdc3StandaloneActionColumn(columnId: string): AdaptableButton<ActionColumnContext<any>>[];
    isFdc3MainActionColumn(columnId: string): boolean;
    isFdc3StandaloneActionColumn(columnId: string): boolean;
    handleIntentResolution(intentResolution: IntentResolution, context: Context, raisedIntent: string, app?: AppIdentifier): void;
    isStandardContextType(contextType: string): contextType is StandardContextType;
    isStandardIntentType(intentType: string): intentType is StandardIntent;
    getAllRaiseIntentConfigs(): WithIntent<RaiseIntentConfig>[];
    getAllBroadcastContextConfigs(): WithContext<BroadcastConfig>[];
    getDefaultIconForIntent(intentType: Intent): AdaptableIcon;
    getDefaultIconForContext(contextType: ContextType): AdaptableIcon;
    private mapRowValueToContextData;
    private isAtLeastOneActionButtonConfigured;
    private getIntentConfigsWithActionButtons;
    private getContextConfigsWithActionButtons;
    private mapFdc3ButtonConfigToAdaptableButton;
    private getDefaultFdc3ButtonLabel;
    private getDefaultFdc3ButtonIcon;
    private getDefaultFdc3ButtonStyle;
}
