import { BaseAccessibilityTest, TestResult, TestContext } from '../base-test';
export interface TouchTargetResult extends TestResult {
    touchTargets: TouchTargetInfo[];
    violations: TouchTargetViolation[];
    score: number;
    recommendations: string[];
    duration?: number;
    url?: string;
    testName?: string;
    description?: string;
    error?: string;
}
export interface TouchTargetInfo {
    selector: string;
    tagName: string;
    text: string;
    width: number;
    height: number;
    minSize: number;
    isCompliant: boolean;
    position: {
        x: number;
        y: number;
    };
    type: 'button' | 'link' | 'input' | 'select' | 'textarea' | 'other';
}
export interface TouchTargetViolation {
    selector: string;
    tagName: string;
    text: string;
    width: number;
    height: number;
    minSize: number;
    issue: string;
    recommendation: string;
}
export declare class TouchTargetTest extends BaseAccessibilityTest {
    name: string;
    description: string;
    category: string;
    priority: string;
    standards: string[];
    private minTouchTargetSize;
    private includeNonInteractive;
    constructor(minSize?: number, includeNonInteractive?: boolean);
    run(context: TestContext): Promise<TestResult>;
    private collectTouchTargets;
    private generateSelector;
    private analyzeCompliance;
    private calculateScore;
    private generateRecommendations;
    private getRecommendation;
    setMinTouchTargetSize(size: number): void;
    getMinTouchTargetSize(): number;
}
//# sourceMappingURL=touch-target-test.d.ts.map