/**
 * Copilot Auth Handler
 *
 * Handles GitHub OAuth authentication for copilot-api.
 * Uses local installation from ~/.ccs/copilot/ (managed by copilot-package-manager).
 */
import { CopilotAuthStatus, CopilotDebugInfo } from './types';
/**
 * Get the path to copilot-api's GitHub token file.
 * copilot-api stores tokens in ~/.local/share/copilot-api/github_token (Linux/macOS)
 * or %APPDATA%/copilot-api/github_token (Windows)
 */
export declare function getTokenPath(): string;
/**
 * Check if GitHub token file exists.
 * Fast check that doesn't require spawning copilot-api process.
 */
export declare function hasTokenFile(): boolean;
/**
 * Check if copilot-api is installed locally.
 * Uses copilot-package-manager to check ~/.ccs/copilot/node_modules/.bin/copilot-api
 */
export declare function isCopilotApiInstalled(): boolean;
/**
 * Get copilot-api debug info.
 * Returns authentication status and version info.
 */
export declare function getCopilotDebugInfo(): Promise<CopilotDebugInfo | null>;
/**
 * Check copilot authentication status.
 * Uses fast token file check first, falls back to copilot-api debug if needed.
 */
export declare function checkAuthStatus(): Promise<CopilotAuthStatus>;
/**
 * Auth flow result with optional device code info.
 */
export interface AuthFlowResult {
    success: boolean;
    error?: string;
    /** Device code for user to enter at GitHub */
    deviceCode?: string;
    /** URL where user enters the device code */
    verificationUrl?: string;
}
/**
 * Start GitHub OAuth authentication flow.
 * Captures device code from copilot-api output and returns it.
 *
 * @returns Promise that resolves with auth result including device code
 */
export declare function startAuthFlow(): Promise<AuthFlowResult>;
//# sourceMappingURL=copilot-auth.d.ts.map