import { OAuthConfig } from './config'; import { GitLabDeviceResponse, GitLabTokenResponse, GitLabUserInfo } from './types'; export declare function initiateDeviceFlow(config: OAuthConfig): Promise; export declare function pollDeviceFlowOnce(deviceCode: string, config: OAuthConfig): Promise; export declare function pollForToken(deviceCode: string, config: OAuthConfig, onPending?: () => void): Promise; export declare function refreshGitLabToken(refreshToken: string, config: OAuthConfig): Promise; export declare function getGitLabUser(accessToken: string): Promise; export declare function validateGitLabToken(accessToken: string): Promise; export declare function exchangeGitLabAuthCode(code: string, redirectUri: string, config: OAuthConfig): Promise; export declare function buildGitLabAuthUrl(config: OAuthConfig, redirectUri: string, state: string): string;