/**
 * OAuth Flow Detector
 * Detects OAuth state generation and validation across multiple files
 * to prevent false positives when state is implemented correctly but split across files.
 */
import type { ScanFile } from '../shared/types';
export interface OAuthFlowContext {
    /** Whether state generation is detected in any file */
    hasStateGeneration: boolean;
    /** File where state is generated */
    stateGenerationFile?: string;
    /** Line number where state is generated */
    stateGenerationLine?: number;
    /** Whether state validation is detected in any file */
    hasStateValidation: boolean;
    /** File where state is validated */
    stateValidationFile?: string;
    /** Line number where state is validated */
    stateValidationLine?: number;
    /** Whether PKCE code_verifier is used */
    hasCodeVerifier: boolean;
    /** File where code_verifier is generated */
    codeVerifierFile?: string;
    /** Detected OAuth flow type */
    flowType: 'authorization_code' | 'client_credentials' | 'implicit' | 'pkce' | 'unknown';
    /** OAuth providers detected */
    providers: string[];
}
/**
 * Detect OAuth flow patterns across multiple files
 */
export declare function detectOAuthFlow(files: ScanFile[]): OAuthFlowContext;
/**
 * Check if OAuth state is properly implemented across files
 */
export declare function isOAuthStateImplemented(context: OAuthFlowContext): boolean;
/**
 * Get a summary of the OAuth flow for logging/context
 */
export declare function getOAuthFlowSummary(context: OAuthFlowContext): string;
//# sourceMappingURL=oauth-flow-detector.d.ts.map