import type { OAuthProviderConfig, ZkLoginProvider } from '../types';
/**
 * OAuth提供商配置
 */
export declare const OAUTH_PROVIDERS: Record<ZkLoginProvider, Partial<OAuthProviderConfig>>;
/**
 * OAuth提供商类
 */
export declare class OAuthProvider {
    private provider;
    private config;
    constructor(provider: ZkLoginProvider, clientId: string, redirectUri: string, customConfig?: Partial<OAuthProviderConfig>);
    /**
     * 构建认证URL
     */
    buildAuthUrl(nonce: string, state?: string): string;
    /**
     * 重定向到认证页面
     */
    redirect(nonce: string, state?: string): void;
    /**
     * 获取提供商名称
     */
    getProviderName(): string;
    /**
     * 获取配置
     */
    getConfig(): OAuthProviderConfig;
}
/**
 * 创建提供商实例的工厂函数
 */
export declare function createOAuthProvider(provider: ZkLoginProvider, clientId: string, redirectUri: string, customConfig?: Partial<OAuthProviderConfig>): OAuthProvider;
/**
 * 从URL中解析OAuth回调参数
 */
export declare function parseOAuthCallback(url?: string): {
    id_token?: string;
    access_token?: string;
    state?: string;
    error?: string;
};
/**
 * 验证OAuth回调
 */
export declare function validateOAuthCallback(params: ReturnType<typeof parseOAuthCallback>): void;
//# sourceMappingURL=index.d.ts.map