import { ResponderMessage } from "../../../../clients/routerClient";
export declare const BLOOMBERG_KILL_SERVICE_SIGNAL = "killall-bloomberg-fdc3-intent-services";
export type BloombergPanel = number;
export type BloombergSecurity = string;
export declare enum BloombergTerminalFunctions {
    RunFunction = "RunFunction",
    CreateWorksheet = "CreateWorksheet",
    GetAllWorksheets = "GetAllWorksheets",
    GetWorksheet = "GetWorksheet",
    ReplaceWorksheet = "ReplaceWorksheet",
    GetAllGroups = "GetAllGroups",
    GetGroupContext = "GetGroupContext",
    SetGroupContext = "SetGroupContext",
    SecurityLookup = "SecurityLookup"
}
export type BloombergConfig = {
    enabled: boolean;
    remote: boolean;
    remoteAddress?: string;
    apiKey?: string;
    v2?: boolean;
    maxAttempts?: number;
    lazyConnect?: boolean;
};
export type BloombergGroup = {
    id: number;
    name: string;
    value: string;
};
export declare enum BloombergGroupEventType {
    CREATED = "CREATED",
    DELETED = "DELETED",
    RENAMED = "RENAMED",
    VALUE_CHANGED = "VALUE_CHANGED"
}
export type OnGroupChangedCallback = (group: BloombergGroup, type: BloombergGroupEventType) => void;
export type BloombergRouterMessage = ResponderMessage<{
    function: BloombergTerminalFunctions.RunFunction;
    mnemonic: string;
    panel: BloombergPanel;
    securities: BloombergSecurity[];
    tails?: string;
}, any> | ResponderMessage<{
    function: BloombergTerminalFunctions.CreateWorksheet;
    name: string;
    securities: BloombergSecurity[];
}, any> | ResponderMessage<{
    function: BloombergTerminalFunctions.GetAllWorksheets;
}, any> | ResponderMessage<{
    function: BloombergTerminalFunctions.GetWorksheet;
    id: string;
}, any> | ResponderMessage<{
    function: BloombergTerminalFunctions.ReplaceWorksheet;
    id: string;
    securities: BloombergSecurity[];
}, any> | ResponderMessage<{
    function: BloombergTerminalFunctions.GetAllGroups;
}, any> | ResponderMessage<{
    function: BloombergTerminalFunctions.GetGroupContext;
    name: string;
}, any> | ResponderMessage<{
    function: BloombergTerminalFunctions.SetGroupContext;
    name: string;
    value: string;
    cookie?: string;
}, any> | ResponderMessage<{
    function: BloombergTerminalFunctions.SecurityLookup;
    security: BloombergSecurity;
}, any>;
export type BloombergCommandRouterMessage = ResponderMessage<any & {
    function: BloombergTerminalFunctions;
}, any>;
export type BloombergStatusRouterMessage = ResponderMessage<any, {
    registered: boolean;
}>;
export type BloombergConnectRouterMessage = ResponderMessage<any, {
    status: boolean;
}>;
export declare enum ChannelType {
    FDC3Channel = "FDC3Channel",
    LaunchPadGroup = "LaunchPadGroup"
}
export declare enum RelayTransmissionType {
    FDC3Channel = "fdc3.channel",
    FDC3Intent = "fdc3.intent",
    LaunchPadGroup = "LaunchPadGroup",
    BloombergCommand = "BloombergCommand",
    BloombergWorksheet = "BloombergWorksheet"
}
export declare enum RelayDataType {
    FDC3Contact = "fdc3.contact",
    FDC3Instrument = "fdc3.instrument",
    BloombergSecurity = "bbg.security"
}
export type RelaySource = {
    id?: string;
    type: RelayTransmissionType;
    data: RelayDataType;
    args?: any;
};
export type Link = {
    source: RelaySource;
    target: RelaySource;
    bidirectional?: boolean;
    displayName?: string;
};
export type RelayQuery = Partial<RelaySource>;
export type BloombergServiceConfig = {
    links: Link[];
};
//# sourceMappingURL=types.d.ts.map