import type { FetchImpl } from "../../types"; import type { OAuthCredentials } from "./types"; type GitHubCopilotLoginOptions = { onAuth: (url: string, instructions?: string) => void; onPrompt: (prompt: { message: string; placeholder?: string; allowEmpty?: boolean; }) => Promise; onProgress?: (message: string) => void; signal?: AbortSignal; pollIntervalFloorMs?: number; pollIntervalScaleMs?: number; fetch?: FetchImpl; }; /** * Refresh GitHub Copilot token. * With the opencode OAuth flow, the GitHub token is used directly — no JWT exchange needed. */ export declare function refreshGitHubCopilotToken(refreshToken: string, enterpriseDomain?: string, apiEndpoint?: string): OAuthCredentials; /** * Login with GitHub Copilot OAuth (device code flow) * * @param options.onAuth - Callback with URL and optional instructions (user code) * @param options.onPrompt - Callback to prompt user for input * @param options.onProgress - Optional progress callback * @param options.signal - Optional AbortSignal for cancellation */ export declare function loginGitHubCopilot(options: GitHubCopilotLoginOptions): Promise; export {};