export interface MockScenario { id: string; name: string; description?: string; response: { statusCode: number; headers?: Record; body: any; }; } export interface MockRule { id: string; name: string; group?: string; enabled: boolean; method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | '*'; urlPattern: string; apifoxUrl?: string; scenarios: MockScenario[]; activeScenarioId: string; createdAt: Date; updatedAt: Date; } export interface ProxyConfig { port: number; } export declare class ProxyServer { private app; private server; private mockRules; private config; private readonly webDir; private clientScriptTemplate; constructor(config: ProxyConfig); private getRulesFilePath; private loadRules; private saveRules; private setupRoutes; private findMatchingRule; addRule(rule: Omit): MockRule; getRule(id: string): MockRule | undefined; getRules(): MockRule[]; updateRule(id: string, updates: Partial): MockRule | null; deleteRule(id: string): boolean; toggleRule(id: string): MockRule | null; setActiveScenario(ruleId: string, scenarioId: string): MockRule | null; start(): Promise; private findRuleByPathname; private findActiveScenario; stop(): Promise; private buildClientScript; }