export type ModelVendor = 'OpenAi' | 'AzureOpenAi' | 'AnthropicClaude' | 'AwsBedrock' | 'VertexAi' | 'Custom' | string;
export type ModelSubscriptionType = 'UiPathOwned' | 'BYOMReplacedLikeForLike' | 'BYOMReplacedAlternative' | 'BYOMAdded' | string;
export type ModelGeography = 'EU' | 'CA' | 'US' | 'SI' | 'JA' | 'AU' | 'IN' | 'UK' | 'CH' | 'UAE' | 'SK' | 'GLOBAL' | string;
export interface DeprecationDetails {
    usageEndDate?: string;
    replacedBy?: string;
}
export interface ByomDetails {
    availableOperationCodes?: string[];
    integrationServiceConnectionId?: string;
    defaultModel?: string;
    customFieldMappings?: Record<string, string> | null;
    productLlmConfigurationId?: string;
}
export interface ModelCostDetails {
    inputTokenCost?: number;
    outputTokenCost?: number;
    currency?: string;
}
export interface ModelDetails {
    maxOutputTokens?: number;
    contextWindowTokens?: number;
    costDetails?: ModelCostDetails;
    shouldUseMaxCompletionTokens?: boolean;
    shouldSkipParallelToolCalls?: boolean;
    shouldSkipTemperature?: boolean;
    shouldSkipTopP?: boolean;
    shouldUseResponseApi?: boolean;
}
export interface RoutingDetails {
    geography?: ModelGeography;
    model?: string;
}
export interface DiscoveryModel {
    modelId: string;
    modelName: string;
    displayName?: string;
    effectiveModel?: string | null;
    vendor: ModelVendor;
    modelFamily?: string;
    apiFlavor?: string;
    modelSubscriptionType?: ModelSubscriptionType;
    isRecommended?: boolean;
    isPreview?: boolean;
    deprecationDetails?: DeprecationDetails | null;
    byomDetails?: ByomDetails | null;
    modelDetails?: ModelDetails;
    routingDetails?: RoutingDetails | null;
    byoConnectionLabel?: string;
}
export type ModelTagKind = 'recommended' | 'preview' | 'deprecating' | 'substituted' | 'custom' | 'out-of-region' | 'thinking' | 'cost-basic' | 'cost-standard' | 'cost-premium' | string;
export type CostTier = 'basic' | 'standard' | 'premium';
export interface ModelTag {
    kind: ModelTagKind;
    label: string;
    tooltip?: string;
    variant?: string;
}
export interface ModelGroup {
    key: string;
    label: string;
    hint?: string;
    models: DiscoveryModel[];
}
export interface DiscoveryRequestContext {
    token: string;
    baseUrl?: string;
    accountId: string;
    tenantId: string;
    requestingProduct: string;
    requestingFeature: string;
    operationCode?: string;
    folderKey?: string;
    fromDedicatedCloud?: boolean;
    onlyAvailableModels?: boolean;
}
//# sourceMappingURL=types.d.ts.map