import type { Credential } from "@bastani/pi-ai"; import type { AgentSession } from "../../core/agent-session.js"; import type { HostInputFormRequest } from "../../core/extensions/ui-types.js"; import { type SaveCredentialOptions } from "../../core/model-runtime.js"; import { type OAuthInteractionTransport } from "./rpc-oauth-interaction.ts"; import type { RpcLoginProviderResult, RpcModelCatalog, RpcOAuthLoginProviderResult } from "./rpc-types.ts"; export interface ProviderLoginInput { open(request: HostInputFormRequest, signal?: AbortSignal): Promise | undefined>; } export declare class RpcProviderAuth { private readonly controllers; private readonly inputForm; private readonly oauthTransport; constructor(inputForm?: ProviderLoginInput, oauthTransport?: OAuthInteractionTransport); login(session: AgentSession, provider: string, loginId?: string): Promise; loginOAuth(session: AgentSession, provider: string, loginId?: string): Promise; save(session: AgentSession, provider: string, credential: Credential, options?: SaveCredentialOptions): Promise; cancel(provider: string, loginId?: string): void; private begin; private finish; private catalog; } //# sourceMappingURL=rpc-provider-auth.d.ts.map