import type { ResourceContents } from '@modelcontextprotocol/sdk/types.js';
import type { Container } from '../../core/container.js';
interface AuditEvent {
    uuid: string;
    published: string;
    eventType: string;
    version: string;
    severity: string;
    legacyEventType?: string;
    displayMessage?: string;
    actor?: {
        id: string;
        type: string;
        alternateId?: string;
        displayName?: string;
        detailEntry?: Record<string, any>;
    };
    client?: {
        userAgent?: {
            rawUserAgent?: string;
            os?: string;
            browser?: string;
        };
        zone?: string;
        device?: string;
        id?: string;
        ipAddress?: string;
        geographicalContext?: {
            city?: string;
            state?: string;
            country?: string;
            postalCode?: string;
            geolocation?: {
                lat?: number;
                lon?: number;
            };
        };
    };
    outcome?: {
        result: string;
        reason?: string;
    };
    target?: Array<{
        id: string;
        type: string;
        alternateId?: string;
        displayName?: string;
        detailEntry?: Record<string, any>;
    }>;
    transaction?: {
        type: string;
        id: string;
        detail?: Record<string, any>;
    };
    authenticationContext?: {
        authenticationProvider?: string;
        credentialProvider?: string;
        credentialType?: string;
        issuer?: any;
        interface?: string;
        authenticationStep?: number;
        externalSessionId?: string;
    };
    securityContext?: {
        asNumber?: number;
        asOrg?: string;
        isp?: string;
        domain?: string;
        isProxy?: boolean;
    };
}
interface EventsResourceOptions {
    since?: string | undefined;
    until?: string | undefined;
    filter?: string | undefined;
    q?: string | undefined;
    limit?: number;
    sortOrder?: 'ASCENDING' | 'DESCENDING' | undefined;
    after?: string | undefined;
    eventType?: string[] | undefined;
    severity?: string[] | undefined;
    actorId?: string | undefined;
    targetId?: string | undefined;
    outcome?: string | undefined;
}
/**
 * Common event types for filtering
 */
export declare const EVENT_TYPES: {
    USER_LOGIN: string;
    USER_LOGOUT: string;
    USER_CREATED: string;
    USER_ACTIVATED: string;
    USER_DEACTIVATED: string;
    USER_SUSPENDED: string;
    USER_UNSUSPENDED: string;
    USER_DELETED: string;
    USER_PASSWORD_CHANGED: string;
    USER_PASSWORD_RESET: string;
    USER_MFA_ENROLLED: string;
    USER_MFA_CHALLENGED: string;
    APP_CREATED: string;
    APP_UPDATED: string;
    APP_DELETED: string;
    APP_USER_ASSIGNED: string;
    APP_USER_REMOVED: string;
    GROUP_CREATED: string;
    GROUP_UPDATED: string;
    GROUP_DELETED: string;
    GROUP_USER_ADDED: string;
    GROUP_USER_REMOVED: string;
    POLICY_CREATED: string;
    POLICY_UPDATED: string;
    POLICY_DELETED: string;
    POLICY_ACTIVATED: string;
    POLICY_DEACTIVATED: string;
    SECURITY_THREAT_DETECTED: string;
    SECURITY_SUSPICIOUS_ACTIVITY: string;
    SECURITY_RATE_LIMIT: string;
    ADMIN_ACCESS: string;
    ADMIN_PRIVILEGE_GRANT: string;
    ADMIN_PRIVILEGE_REVOKE: string;
};
/**
 * Handle audit events resource with advanced filtering and analytics
 */
export default function handleEventsResource(uri: string, container: Container): Promise<ResourceContents>;
/**
 * Stream all events efficiently for bulk operations
 * This is an additional export for programmatic use
 */
export declare function streamAllEvents(container: Container, options?: EventsResourceOptions): AsyncGenerator<AuditEvent, void, undefined>;
export {};
//# sourceMappingURL=events.d.ts.map