import type { ActionDefinition } from '../types.js';
export interface EvidenceTarget {
    type: 'logs' | 'system_state' | 'network_capture' | 'memory_dump' | 'configuration' | 'database_audit' | 'file_snapshot';
    source: string;
    timeRange?: {
        start: Date;
        end: Date;
    };
    filters?: Record<string, unknown>;
}
export interface CollectionResult {
    targetType: string;
    source: string;
    collected: boolean;
    location?: string;
    size?: number;
    hash?: string;
    timestamp: Date;
    error?: string;
}
export interface EvidenceCollectionService {
    /** Collect logs from a source */
    collectLogs(source: string, timeRange?: {
        start: Date;
        end: Date;
    }, filters?: Record<string, unknown>): Promise<{
        success: boolean;
        location: string;
        size: number;
        lineCount: number;
    }>;
    /** Capture system state */
    captureSystemState(systemId: string): Promise<{
        success: boolean;
        location: string;
        size: number;
        components: string[];
    }>;
    /** Capture network traffic */
    captureNetworkTraffic(interfaceId: string, duration: number, filters?: Record<string, unknown>): Promise<{
        success: boolean;
        location: string;
        size: number;
        packetCount: number;
    }>;
    /** Capture memory dump */
    captureMemoryDump(processId: string): Promise<{
        success: boolean;
        location: string;
        size: number;
    }>;
    /** Export configuration */
    exportConfiguration(serviceId: string): Promise<{
        success: boolean;
        location: string;
        size: number;
    }>;
    /** Export database audit logs */
    exportDatabaseAudit(databaseId: string, timeRange?: {
        start: Date;
        end: Date;
    }): Promise<{
        success: boolean;
        location: string;
        size: number;
        entryCount: number;
    }>;
    /** Create file snapshot */
    createFileSnapshot(path: string): Promise<{
        success: boolean;
        location: string;
        size: number;
        fileCount: number;
    }>;
    /** Calculate file hash */
    calculateHash(location: string): Promise<string>;
    /** Verify evidence integrity */
    verifyIntegrity(location: string, expectedHash: string): Promise<boolean>;
}
export declare function setEvidenceCollectionService(service: EvidenceCollectionService): void;
export declare function getEvidenceCollectionService(): EvidenceCollectionService;
/** Create a mock evidence collection service for testing only. */
export declare function createMockEvidenceCollectionService(): EvidenceCollectionService;
export declare const collectEvidenceAction: ActionDefinition;
export default collectEvidenceAction;
//# sourceMappingURL=collect-evidence.d.ts.map