export type DeepSeekDisabledBy = "user" | "provider-402" | "provider-availability";
export interface DeepSeekProviderConfig {
    enabled?: boolean;
    disabledAt?: string;
    disabledReason?: string;
    disabledBy?: DeepSeekDisabledBy | string;
    updatedAt?: string;
    apiKeyEnv?: string;
    model?: string;
    kind?: "openai-compatible";
    baseUrl?: string;
    defaultModel?: string;
    aliases?: Record<string, string>;
    capabilities?: string[];
    contextWindow?: number;
    reservedOutputTokens?: number;
}
export interface GenericProviderConfig {
    enabled?: boolean;
    kind?: "kimi-native" | "openai-compatible" | "external-cli" | "codex-cli" | "local";
    baseUrl?: string;
    apiKeyEnv?: string;
    defaultModel?: string;
    model?: string;
    aliases?: Record<string, string>;
    capabilities?: string[];
    wireApi?: string;
    auth?: {
        method?: string;
    };
    profileType?: string;
    planKind?: string;
    routing?: string;
    headers?: Record<string, string>;
    contextWindow?: number;
    reservedOutputTokens?: number;
    disabledAt?: string;
    disabledReason?: string;
    disabledBy?: string;
    updatedAt?: string;
}
export interface OmkProvidersConfig {
    version: 1;
    providers: Record<string, GenericProviderConfig | undefined> & {
        deepseek?: DeepSeekProviderConfig;
    };
}
export interface DeepSeekConfigPathOptions {
    homeDir?: string;
    env?: NodeJS.ProcessEnv;
}
export interface DeepSeekApiKeyResolution {
    apiKey?: string;
    apiKeyEnv: string;
    source?: "env" | "omk-secrets" | "opencode-secrets";
    sourcePath?: string;
}
export interface DeepSeekProviderStatus {
    provider: "deepseek";
    enabled: boolean;
    disabledReason?: string;
    disabledBy?: DeepSeekDisabledBy;
    apiKeySet: boolean;
    apiKeySource?: DeepSeekApiKeyResolution["source"];
    configPath: string;
    secretsPath: string;
}
export declare function getDeepSeekProviderConfigPath(options?: DeepSeekConfigPathOptions): string;
export declare function getOmkSecretsEnvPath(options?: DeepSeekConfigPathOptions): string;
export declare function getOpenCodeSecretsEnvPath(options?: DeepSeekConfigPathOptions): string;
export declare function readOmkProvidersConfig(options?: DeepSeekConfigPathOptions): Promise<OmkProvidersConfig>;
export declare function writeOmkProvidersConfig(config: OmkProvidersConfig, options?: DeepSeekConfigPathOptions): Promise<string>;
export declare function setDeepSeekEnabled(enabled: boolean, options?: DeepSeekConfigPathOptions & {
    reason?: string;
    disabledBy?: DeepSeekDisabledBy;
}): Promise<DeepSeekProviderConfig>;
export declare function forceDisableDeepSeek(reason: string, options?: DeepSeekConfigPathOptions & {
    disabledBy?: DeepSeekDisabledBy;
}): Promise<DeepSeekProviderConfig>;
export declare function setDeepSeekApiKey(apiKey: string, options?: DeepSeekConfigPathOptions & {
    apiKeyEnv?: string;
}): Promise<{
    secretsPath: string;
    apiKeyEnv: string;
}>;
export declare function resolveDeepSeekApiKey(options?: DeepSeekConfigPathOptions & {
    apiKeyEnv?: string;
}): Promise<DeepSeekApiKeyResolution>;
export declare function getDeepSeekProviderStatus(options?: DeepSeekConfigPathOptions): Promise<DeepSeekProviderStatus>;
