import type { AtomicOAuthLoginCallbacks } from "../../core/oauth-login.ts"; import type { RpcExtensionUIRequest, RpcExtensionUIResponse, RpcOAuthLoginProviderResult } from "./rpc-types.ts"; export type RpcOAuthRequest = Extract; export declare function isRpcOAuthRequest(request: RpcExtensionUIRequest): request is RpcOAuthRequest; export declare function dispatchRpcOAuthRequest(provider: string, loginId: string, callbacks: AtomicOAuthLoginCallbacks, request: RpcOAuthRequest, respond: (response: RpcExtensionUIResponse) => Promise): Promise; interface RpcOAuthClientTransport { onExtensionUIRequest(listener: (request: RpcExtensionUIRequest) => void): () => void; respondExtensionUI(response: RpcExtensionUIResponse): Promise; requestInternal(command: { type: "login_provider"; provider: string; authType: "oauth"; loginId: string; }): Promise; cancelLoginProvider(provider: string, loginId?: string): Promise; } export declare function loginRpcOAuthProvider(client: RpcOAuthClientTransport, provider: string, callbacks: AtomicOAuthLoginCallbacks): Promise; export {}; //# sourceMappingURL=rpc-oauth-client.d.ts.map