import type { components } from '../generated/api.js';
import { WorkspaceScopedResource } from './base.js';
export interface ListAuditParams {
    service?: string | null;
    action?: string | null;
    actor_entity_id?: string | null;
    resource_type?: string | null;
    resource_id?: string | null;
    phi_only?: boolean;
    date_from?: string | null;
    date_to?: string | null;
    limit?: number;
    offset?: number;
}
export interface PhiAccessParams {
    entity_id?: string | null;
    date_from?: string | null;
    date_to?: string | null;
    limit?: number;
    offset?: number;
}
export interface EntityAccessLogParams {
    date_from?: string | null;
    date_to?: string | null;
    limit?: number;
    offset?: number;
}
export declare class AuditResource extends WorkspaceScopedResource {
    list(params?: ListAuditParams): Promise<{
        events: {
            action: string;
            actor_credential_id?: string | null | undefined;
            actor_entity_id?: string | null | undefined;
            id: string;
            ip_address?: string | null | undefined;
            metadata?: {
                [x: string]: unknown;
            } | null | undefined;
            phi_accessed?: boolean | undefined;
            resource_id?: string | null | undefined;
            resource_name?: string | null | undefined;
            resource_type?: string | null | undefined;
            service: string;
            timestamp: string;
            user_agent?: string | null | undefined;
            workspace_id: string;
        }[];
        has_more: boolean;
        limit: number;
        offset: number;
        total: number;
    } & import("../index.js").ResponseMetadata>;
    listAutoPaging(params?: ListAuditParams): AsyncGenerator<{
        action: string;
        actor_credential_id?: string | null | undefined;
        actor_entity_id?: string | null | undefined;
        id: string;
        ip_address?: string | null | undefined;
        metadata?: {
            [x: string]: unknown;
        } | null | undefined;
        phi_accessed?: boolean | undefined;
        resource_id?: string | null | undefined;
        resource_name?: string | null | undefined;
        resource_type?: string | null | undefined;
        service: string;
        timestamp: string;
        user_agent?: string | null | undefined;
        workspace_id: string;
    }, any, any>;
    getSummary(params?: {
        date_from?: string | null;
        date_to?: string | null;
    }): Promise<{
        phi_access_events: number;
        services_with_events: number;
        total_events: number;
        unique_actors: number;
    } & import("../index.js").ResponseMetadata>;
    getPhiAccess(params?: PhiAccessParams): Promise<{
        events: {
            action: string;
            actor_credential_id?: string | null | undefined;
            actor_entity_id?: string | null | undefined;
            id: string;
            ip_address?: string | null | undefined;
            metadata?: {
                [x: string]: unknown;
            } | null | undefined;
            phi_accessed?: boolean | undefined;
            resource_id?: string | null | undefined;
            resource_name?: string | null | undefined;
            resource_type?: string | null | undefined;
            service: string;
            timestamp: string;
            user_agent?: string | null | undefined;
            workspace_id: string;
        }[];
        has_more: boolean;
        limit: number;
        offset: number;
        total: number;
    } & import("../index.js").ResponseMetadata>;
    getPhiAccessAutoPaging(params?: PhiAccessParams): AsyncGenerator<{
        action: string;
        actor_credential_id?: string | null | undefined;
        actor_entity_id?: string | null | undefined;
        id: string;
        ip_address?: string | null | undefined;
        metadata?: {
            [x: string]: unknown;
        } | null | undefined;
        phi_accessed?: boolean | undefined;
        resource_id?: string | null | undefined;
        resource_name?: string | null | undefined;
        resource_type?: string | null | undefined;
        service: string;
        timestamp: string;
        user_agent?: string | null | undefined;
        workspace_id: string;
    }, any, any>;
    createExport(body: components['schemas']['AuditExportRequest']): Promise<{
        created_at: string;
        download_url: string;
        export_id: string;
        row_count: number;
        s3_key: string;
    } & import("../index.js").ResponseMetadata>;
    listExports(): Promise<{
        exports: {
            download_url?: string | null | undefined;
            key: string;
            last_modified?: string | null | undefined;
            size: number;
        }[];
    } & import("../index.js").ResponseMetadata>;
    getEntityAccessLog(entityId: string, params?: EntityAccessLogParams): Promise<{
        events: {
            action: string;
            actor_credential_id?: string | null | undefined;
            actor_entity_id?: string | null | undefined;
            id: string;
            ip_address?: string | null | undefined;
            metadata?: {
                [x: string]: unknown;
            } | null | undefined;
            phi_accessed?: boolean | undefined;
            resource_id?: string | null | undefined;
            resource_name?: string | null | undefined;
            resource_type?: string | null | undefined;
            service: string;
            timestamp: string;
            user_agent?: string | null | undefined;
            workspace_id: string;
        }[];
        has_more: boolean;
        limit: number;
        offset: number;
        total: number;
    } & import("../index.js").ResponseMetadata>;
    getEntityAccessLogAutoPaging(entityId: string, params?: EntityAccessLogParams): AsyncGenerator<{
        action: string;
        actor_credential_id?: string | null | undefined;
        actor_entity_id?: string | null | undefined;
        id: string;
        ip_address?: string | null | undefined;
        metadata?: {
            [x: string]: unknown;
        } | null | undefined;
        phi_accessed?: boolean | undefined;
        resource_id?: string | null | undefined;
        resource_name?: string | null | undefined;
        resource_type?: string | null | undefined;
        service: string;
        timestamp: string;
        user_agent?: string | null | undefined;
        workspace_id: string;
    }, any, any>;
}
//# sourceMappingURL=audit.d.ts.map