import { LoginFlowError, type AuthInteraction, type LoginFlowConsumer } from './login-flow.js'; import { type PiRuntimeLoadResult } from './pi-runtime.js'; export type PiApiKeyLoginErrorCode = 'runtime_unavailable' | 'provider_not_found' | 'api_key_login_unsupported' | 'login_failed'; export interface PiApiKeyLoginError { code: PiApiKeyLoginErrorCode; message: string; } export type PiApiKeyLoginResult = { ok: true; provider: string; authType: 'api_key'; expiresAt: null; } | { ok: false; provider: string; authType: 'api_key'; error: PiApiKeyLoginError; }; type PiApiKeyLoginFailure = Extract; export interface PiApiKeyLoginDependencies { loadRuntime?: () => Promise; refreshProviders?: () => void; publishRecovered?: (input: { backend: 'pi'; provider: string; }) => void; } export declare class PiApiKeyLoginFlowError extends LoginFlowError { readonly result: PiApiKeyLoginFailure; constructor(result: PiApiKeyLoginFailure); } export declare function loginPiApiKey(providerId: string, interaction: AuthInteraction, dependencies?: PiApiKeyLoginDependencies): Promise; export declare function createPiApiKeyLoginConsumer(providerId: string, dependencies?: PiApiKeyLoginDependencies): LoginFlowConsumer; export {};