export declare enum AiProviderType {
    SNOWFLAKE_CORTEX = "snowflake_cortex",
    DATABRICKS_AI_GATEWAY = "databricks_ai_gateway"
}
export declare const AI_PROVIDER_CREDENTIAL_STATUSES: readonly ["untested", "passing", "failing"];
export type AiProviderCredentialStatus = (typeof AI_PROVIDER_CREDENTIAL_STATUSES)[number];
export interface SnowflakeCortexBYOCredentials {
    account: string;
    username: string;
    role?: string;
    pat: string;
}
export interface DatabricksAiGatewayBYOCredentials {
    gatewayHost: string;
    pat: string;
}
export type BYOCredentials = SnowflakeCortexBYOCredentials | DatabricksAiGatewayBYOCredentials;
export interface AiProviderCredentialDto {
    id: string;
    provider: AiProviderType;
    displayName: string;
    providerMetadata?: Record<string, string>;
    status: AiProviderCredentialStatus;
    statusMessage?: string | null;
    statusCheckedAt?: string | null;
    isActive: boolean;
    useManagedFallback: boolean;
    fingerprint: string;
    created: string;
    updated: string;
}
export interface CreateAiProviderCredentialRequest {
    provider: AiProviderType;
    displayName: string;
    credentials: BYOCredentials;
    useManagedFallback?: boolean;
}
export interface UpdateAiProviderCredentialRequest {
    displayName?: string;
    credentials?: Partial<BYOCredentials>;
    isActive?: boolean;
    useManagedFallback?: boolean;
}
export interface TestAiProviderCredentialConfigurationRequest {
    provider: AiProviderType;
    credentials: BYOCredentials;
}
export interface AiProviderCredentialTestResult {
    valid: boolean;
    error?: string;
    checkedAt: string;
}
//# sourceMappingURL=provider-credential.d.ts.map