/**
 * @license
 * Copyright 2025 Vybestack LLC
 * SPDX-License-Identifier: Apache-2.0
 */
export type ProviderAliasSource = 'user' | 'builtin';
export interface StaticModelEntry {
    id: string;
    name: string;
}
export interface ModelDefaultRule {
    pattern: string;
    ephemeralSettings: Record<string, unknown>;
}
export interface ProviderAliasConfig {
    name?: string;
    baseProvider: string;
    /** Base URL for the provider API (consistent with profile ephemeral settings) */
    'base-url'?: string;
    /** Overrides base-url when running in a container sandbox (Docker/Podman) */
    'sandbox-base-url'?: string;
    /** When false, bypasses API key validation for providers that don't need auth */
    'requires-auth'?: boolean;
    defaultModel?: string;
    ephemeralSettings?: Record<string, unknown>;
    description?: string;
    providerConfig?: Record<string, unknown>;
    apiKeyEnv?: string;
    /** Provider ID from models.dev for filtering in ModelsDialog */
    modelsDevProviderId?: string | null;
    /**
     * Static list of models to return from getModels() instead of fetching from API.
     * Use this for providers that don't have a /models endpoint or when you want
     * to restrict the available models to a specific set.
     */
    staticModels?: StaticModelEntry[];
    /**
     * Per-model ephemeral setting overrides. Rules are matched against the model
     * name using RegExp.test() and applied in order — later rules override earlier
     * ones for the same key. Invalid patterns are stripped at parse time.
     */
    modelDefaults?: ModelDefaultRule[];
}
export interface ProviderAliasEntry {
    alias: string;
    config: ProviderAliasConfig;
    filePath: string;
    source: ProviderAliasSource;
}
export declare function getUserAliasDir(): string;
export declare function loadProviderAliasEntries(): ProviderAliasEntry[];
export declare function getAliasFilePath(alias: string): string;
export declare function writeProviderAliasConfig(alias: string, config: ProviderAliasConfig): string;
