import { type ProviderConfigSetInput } from "../providers/model-registry.js";
import type { ProviderAuthMethod, ProviderId } from "../providers/types.js";
export interface ProviderDoctorOptions {
    json?: boolean;
    soft?: boolean;
}
export interface ProviderJsonOptions {
    json?: boolean;
}
export interface ProviderDeepSeekSetOptions extends ProviderJsonOptions {
    fromEnv?: string;
}
export interface ProviderSetOptions extends ProviderJsonOptions {
    model?: string;
    baseUrl?: string;
    apiKeyEnv?: string;
    kind?: ProviderConfigSetInput["kind"];
    authMethod?: ProviderAuthMethod;
}
export interface ProviderUseOptions extends ProviderJsonOptions {
    model?: string;
    authority?: boolean;
}
export interface ProviderAuthOptions extends ProviderJsonOptions {
    method?: ProviderAuthMethod;
    apiKeyEnv?: string;
}
export interface ProviderOAuthOptions extends ProviderJsonOptions {
    apiKeyEnv?: string;
}
export interface ProviderOAuthResult {
    ok: true;
    command: "provider oauth";
    provider: ProviderId;
    authMethod: ProviderAuthMethod | "official-cli-oauth" | "external-provider";
    oauthAvailable: boolean;
    exchangeRequiresBrowser: boolean;
    exchangePerformed: false;
    authBypass: false;
    authJsonRead: false;
    tokenFilesRead: false;
    secretValuesPrinted: false;
    secretsStored: false;
    projectFilesWritten: false;
    tokensRead: false;
    apiKeyEnv?: string;
    checkedAt: string;
    nextActions: string[];
    notes: string[];
}
export type ProviderDeepSeekApiOptions = ProviderDeepSeekSetOptions;
export declare function providerDoctorCommand(provider: string | undefined, options?: ProviderDoctorOptions): Promise<void>;
export declare function providerListCommand(options?: ProviderJsonOptions): Promise<void>;
export declare function providerSetCommand(provider: string, options?: ProviderSetOptions): Promise<void>;
export declare function providerUseCommand(provider: string, options?: ProviderUseOptions): Promise<void>;
export declare function providerAuthCommand(provider: string, options?: ProviderAuthOptions): Promise<void>;
export declare function providerProfilesCommand(options?: ProviderJsonOptions): Promise<void>;
export declare function providerEnableCommand(provider: string, options?: ProviderJsonOptions): Promise<void>;
export declare function providerDisableCommand(provider: string, reason?: string, options?: ProviderJsonOptions): Promise<void>;
export declare function providerOAuthCommand(provider: string | undefined, options?: ProviderOAuthOptions): Promise<void>;
export declare function providerDeepSeekEnableCommand(options?: ProviderJsonOptions): Promise<void>;
export declare function providerDeepSeekDisableCommand(reason?: string, options?: ProviderJsonOptions): Promise<void>;
export declare function providerDeepSeekSetCommand(options?: ProviderDeepSeekSetOptions): Promise<void>;
export declare function providerDeepSeekApiCommand(options?: ProviderDeepSeekApiOptions): Promise<void>;
export declare function buildProviderOAuthResult(provider: string | undefined, options?: Pick<ProviderOAuthOptions, "apiKeyEnv">): ProviderOAuthResult;
