/**
 * A collection of type definitions for use when making GraphQL requests to Bloomberg’s Terminal Connect API using the `BloombergConnection.executeApiRequest` function.
 */
export declare namespace TerminalConnectApiTypes {
    /**
     * Entity type for an alert.
     *
     * @group Types
     */
    interface Alert {
        active?: boolean;
        conditions?: AlertCondition[];
        expiry?: string;
        frequency?: AlertFrequency;
        id?: string;
        note?: string;
        revision?: number;
        source?: {
            sourceId?: string;
        }[];
        timeRange?: AlertTimeRange;
    }
    /**
     * Entity type for an {@link Alert | alert} condition.
     *
     * @group Types
     */
    interface AlertCondition {
        conditionField?: string;
        conditionValue?: number;
        operator?: AlertConditionOperator;
    }
    /**
     * Possible operator values for {@link Alert | alert} conditions.
     *
     * @group Types
     */
    type AlertConditionOperator = 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO' | 'EQUAL_TO' | 'CROSS' | 'CROSS_DOWN' | 'CROSS_UP';
    /**
     * Possible  frequency values for {@link Alert | alerts}.
     *
     * @group Types
     */
    type AlertFrequency = 'ONCE_PER_DAY';
    /**
     * Result type for the `alerts` and `alertsById` queries.
     *
     * @group Types
     */
    interface AlertsResult {
        alerts: {
            edges?: {
                cursor?: string;
                node?: Alert;
            }[];
            itemCount?: number;
            pageInfo?: PageInfo;
        } & Error;
    }
    /**
     * Entity type for {@link Alert | alert} time info.
     *
     * @group Types
     */
    interface AlertTime {
        hours?: number;
        minutes?: number;
    }
    /**
     * Entity type for an {@link Alert | alert} time range.
     *
     * @group Types
     */
    interface AlertTimeRange {
        end?: AlertTime;
        start?: AlertTime;
        timezone?: AlertTimeZone;
    }
    /**
     * Possible time zone values for {@link Alert | alert} time ranges.
     *
     * @group Types
     */
    type AlertTimeZone = 'PACIFIC_HONOLULU' | 'PACIFIC_PAGO_PAGO' | 'PACIFIC_NORFOLK' | 'PACIFIC_FIJI' | 'PACIFIC_APIA' | 'PACIFIC_KIRITIMATI' | 'PACIFIC_AUCKLAND' | 'ATLANTIC_CAPE_VERDE' | 'ATLANTIC_AZORES' | 'AMERICA_NORONHA' | 'AMERICA_ST_JOHNS' | 'AMERICA_ARGENTINA_BUENOS_AIRES' | 'AMERICA_SANTIAGO' | 'AMERICA_TORONTO' | 'AMERICA_PANAMA' | 'AMERICA_GUATEMALA' | 'AMERICA_DENVER' | 'AMERICA_MEXICO_CITY' | 'AMERICA_VANCOUVER' | 'AMERICA_ANCHORAGE' | 'AMERICA_LOS_ANGELES' | 'AMERICA_PHOENIX' | 'AMERICA_CHICAGO' | 'AMERICA_NEW_YORK' | 'AMERICA_PUERTO_RICO' | 'AFRICA_ABIDJAN' | 'AFRICA_JOHANNESBURG' | 'AFRICA_NAIROBI' | 'EUROPE_LISBON' | 'EUROPE_ISTANBUL' | 'EUROPE_AMSTERDAM' | 'EUROPE_BRUSSELS' | 'EUROPE_MADRID' | 'EUROPE_PARIS' | 'EUROPE_WARSAW' | 'EUROPE_ZURICH' | 'EUROPE_LONDON' | 'EUROPE_BERLIN' | 'EUROPE_MOSCOW' | 'ASIA_BAGHDAD' | 'ASIA_BEIRUT' | 'ASIA_JERUSALEM' | 'ASIA_KOLKATA' | 'ASIA_DUBAI' | 'ASIA_BANGKOK' | 'ASIA_SINGAPORE' | 'ASIA_TOKYO' | 'ASIA_HO_CHI_MINH' | 'ASIA_SHANGHAI' | 'ASIA_MACAU' | 'ASIA_HONG_KONG' | 'ASIA_SEOUL' | 'INDIAN_MALDIVES' | 'INDIAN_CHAGOS' | 'AUSTRALIA_SYDNEY';
    /**
     * Result type for the `appendSecuritiesToWorksheet` mutation.
     *
     * @group Types
     */
    interface AppendSecuritiesToWorksheetResult {
        appendSecuritiesToWorksheet: Worksheet & Error;
    }
    /**
     * Result type for the `bssoToken` query.
     *
     * @group Types
     */
    interface BssoTokenResult {
        bssoToken: {
            accessToken?: string;
        } & Error;
    }
    /**
     * Entity type for an individual Launchpad component window.
     *
     * @group Types
     */
    interface Component {
        compId?: string;
        name?: string;
        tag?: string;
        title?: string;
    }
    /**
     * Result type for the `components` query.
     *
     * @group Types
     */
    interface ComponentsResult {
        components: {
            items?: Component[];
        } & Error;
    }
    /**
     * Result type for the `createLimitAlert` mutation.
     *
     * @group Types
     */
    interface CreateAlertResult {
        createLimitAlert: Alert & Error;
    }
    /**
     * Result type for the `createWorksheet` mutation.
     *
     * @group Types
     */
    interface CreateWorksheetResult {
        createWorksheet: Worksheet & Error;
    }
    /**
     * Result type for the `deleteAlert` mutation.
     *
     * @group Types
     */
    interface DeleteAlertResult {
        deleteAlert: {
            successful?: boolean;
        } & Error;
    }
    /**
     * Entity type for a Terminal Connect operation error.
     *
     * @group Types
     */
    interface Error {
        errorCategory?: 'AUTHORIZATION' | 'ERROR' | 'INVALID_INPUT' | 'RATE_LIMIT_EXCEEDED' | 'TIMEOUT';
        errorMessage?: string;
    }
    /**
     * Entity type for an individual Launchpad group.
     *
     * @group Types
     */
    interface Group {
        id?: number;
        name?: string;
        type?: string;
        value: string;
    }
    /**
     * Result type for the `subscribeGroupEvents` subscription.
     *
     * @group Types
     */
    interface GroupEvent {
        subscribeGroupEvents: {
            data?: string;
            group?: Group;
            type?: GroupEventType;
        };
    }
    /**
     * Possible values for {@link GroupEvent | group event} types.
     *
     * @group Types
     */
    type GroupEventType = 'ANY' | 'CREATED' | 'DELETED' | 'RENAMED' | 'VALUE_CHANGED';
    /**
     * Result type for the `groups` query.
     *
     * @group Types
     */
    interface GroupsResult {
        groups: {
            items?: Group[];
        } & Error;
    }
    /**
     * Result type for the `openInLaunchpad` mutation.
     *
     * @group Types
     */
    interface OpenInLaunchpadResult {
        openInLaunchpad: Component & Error;
    }
    /**
     * Result type used for a number of different mutations.
     *
     * @group Types
     */
    interface OperationResult {
        details?: string;
        succeeded?: boolean;
    }
    /**
     * Entity type for paging info.
     *
     * @group Types
     */
    interface PageInfo {
        endCursor?: string;
        hasNextPage?: boolean;
        hasPreviousPage?: boolean;
        startCursor?: string;
    }
    /**
     * Result type for the `publishAlertEvent` mutation.
     *
     * @group Types
     */
    interface PublishAlertEventResult {
        publishAlertEvent: {
            successful?: boolean;
        } & Error;
    }
    /**
     * Result type for the `removeSecuritiesFromWorksheet` mutation.
     *
     * @group Types
     */
    interface RemoveSecuritiesFromWorksheetResult {
        removeSecuritiesFromWorksheet: Worksheet & Error;
    }
    /**
     * Result type for the `replaceSecuritiesInWorksheet` mutation.
     *
     * @group Types
     */
    interface ReplaceSecuritiesInWorksheetResult {
        replaceSecuritiesInWorksheet: Worksheet & Error;
    }
    /**
     * Result type for the `runFunctionInPanel` mutation.
     *
     * @group Types
     */
    interface RunFunctionInPanelResult {
        runFunctionInPanel: OperationResult & Error;
    }
    /**
     * Result type for the `runFunctionInTab` mutation.
     *
     * @group Types
     */
    interface RunFunctionInTabResult {
        runFunctionInTab: OperationResult & Error;
    }
    /**
     * Result type for the `securities` query.
     *
     * @group Types
     */
    interface SecuritiesResult {
        securities: {
            edges?: {
                cursor?: string;
                node?: Security;
            }[];
            itemCount?: number;
            pageInfo?: PageInfo;
        } & Error;
    }
    /**
     * Entity type for an individual security.
     *
     * @group Types
     */
    interface Security {
        id?: string;
        name?: string;
    }
    /**
     * Result type for the `setGroupValue` mutation.
     *
     * @group Types
     */
    interface SetGroupValueResult {
        setGroupValue: {
            results?: OperationResult[];
        } & Error;
    }
    /**
     * Result type for the `updateLimitAlert` mutation.
     *
     * @group Types
     */
    interface UpdateAlertResult {
        updateLimitAlert: Alert & Error;
    }
    /**
     * Result type for the `updateComponent` mutation.
     *
     * @group Types
     */
    interface UpdateComponentResult {
        updateComponent: OperationResult & Error;
    }
    /**
     * Entity type for an individual worksheet.
     *
     * @group Types
     */
    interface Worksheet {
        id?: string;
        isOpen?: boolean;
        name?: string;
        securities: WorksheetSecuritiesResult;
    }
    /**
     * Result type for the collection of securities returned in a {@link Worksheet | worksheet}.
     *
     * @group Types
     */
    interface WorksheetSecuritiesResult {
        edges?: {
            cursor?: string;
            node?: WorksheetSecurity;
        }[];
        itemCount?: number;
        pageInfo?: PageInfo;
    }
    /**
     * Entity type for an individual worksheet security.
     *
     * @group Types
     */
    interface WorksheetSecurity {
        id?: string;
    }
    /**
     * Result type for the `worksheets` and `worksheetsById` queries.
     *
     * @group Types
     */
    interface WorksheetsResult {
        worksheets: {
            edges?: {
                cursor?: string;
                node?: Worksheet;
            }[];
            itemCount?: number;
            pageInfo?: PageInfo;
        } & Error;
    }
}
