/**
 * Environment Context Utility
 * Understands file PURPOSE by path to reduce false positives
 *
 * This addresses false positives where localhost URLs in email templates,
 * dev scripts, and test environments are flagged as production issues.
 *
 * Key insight: The same code pattern may be fine in one context but
 * problematic in another. Context determines severity.
 */
export interface EnvironmentContext {
    /** The type of file based on its path */
    fileType: 'production' | 'development' | 'test' | 'template' | 'tooling' | 'documentation';
    /** Whether localhost URLs are expected in this context */
    allowsLocalhostDefaults: boolean;
    /** Whether placeholder URLs (example.com) are expected */
    allowsPlaceholderUrls: boolean;
    /** Whether test credentials are acceptable */
    allowsTestCredentials: boolean;
    /** Optional reason for the classification */
    reason?: string;
}
/**
 * Get the environment context for a file
 *
 * @param filePath - The full file path
 * @returns EnvironmentContext with context information
 */
export declare function getEnvironmentContext(filePath: string): EnvironmentContext;
/**
 * Check if a line contains a URL in a placeholder attribute context
 * e.g., placeholder="https://example.com"
 *
 * @param line - The line content to check
 * @returns true if the URL is in a placeholder attribute
 */
export declare function isInPlaceholderAttribute(line: string): boolean;
/**
 * Check if a localhost URL is a default parameter value
 * e.g., function foo(url = 'http://localhost')
 *
 * @param line - The line content to check
 * @returns true if localhost is used as a default parameter
 */
export declare function isDefaultParameterValue(line: string): boolean;
/**
 * Check if a URL is in a clearly development-only context
 *
 * @param line - The line content
 * @param filePath - The file path
 * @returns true if the URL is in a dev-only context
 */
export declare function isDevOnlyContext(line: string, filePath: string): boolean;
/**
 * Check if a password/credential is acceptable in this context
 *
 * @param filePath - The file path
 * @returns true if test credentials are acceptable
 */
export declare function allowsTestCredentials(filePath: string): boolean;
/**
 * Check if localhost URLs are expected in this file
 *
 * @param filePath - The file path
 * @returns true if localhost is expected/acceptable
 */
export declare function allowsLocalhostUrls(filePath: string): boolean;
/**
 * Determine severity for a localhost finding based on context
 *
 * @param filePath - The file path
 * @param line - The line content
 * @returns Recommended severity for the finding
 */
export declare function getLocalhostSeverity(filePath: string, line: string): 'info' | 'low' | 'medium' | 'high';
//# sourceMappingURL=environment-context.d.ts.map