import type { LlmProvider } from '../../core/llm/types.js';
import type { OpenAiOAuthCredential } from './types.js';
export type ProviderCredentialCommandOptions = {
    storePath?: string;
    openBrowser?: boolean;
    openAiLogin?: () => Promise<OpenAiOAuthCredential>;
    onAuthorizeUrl?: (url: string) => void;
};
/**
 * Owns provider credential command semantics shared by terminal and API hosts.
 *
 * Core auth owns what status/login/logout mean for persisted credentials.
 * Interfaces own how command progress is rendered and how users invoke these
 * actions.
 */
export declare class ProviderCredentialCommandService {
    static formatStatusMessage(storePath?: string): string;
    static loginProviderWithOAuth(provider: LlmProvider, options?: ProviderCredentialCommandOptions): Promise<string>;
    static logoutProvider(provider: LlmProvider, storePath?: string): string;
}
//# sourceMappingURL=command-service.d.ts.map