import type { ResourceContents } from '@modelcontextprotocol/sdk/types.js';
import type { Container } from '../../core/container.js';
interface SystemLog {
    uuid: string;
    published: string;
    eventType: string;
    version: string;
    severity: string;
    legacyEventType?: string;
    displayMessage?: string;
    actor?: {
        id: string;
        type: string;
        alternateId?: string;
        displayName?: string;
        detailEntry?: 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;
            };
        };
    };
    authenticationContext?: {
        authenticationProvider?: string;
        credentialProvider?: string;
        credentialType?: string;
        issuer?: any;
        interface?: string;
        authenticationStep?: number;
        externalSessionId?: string;
    };
    request?: {
        ipChain?: Array<{
            ip: string;
            geographicalContext?: any;
            version?: string;
            source?: string;
        }>;
    };
    outcome?: {
        result: string;
        reason?: string;
    };
    target?: Array<{
        id: string;
        type: string;
        alternateId?: string;
        displayName?: string;
        detailEntry?: any;
    }>;
    transaction?: {
        type: string;
        id: string;
        detail?: any;
    };
    debugContext?: {
        debugData?: any;
    };
    securityContext?: {
        asNumber?: number;
        asOrg?: string;
        isp?: string;
        domain?: string;
        isProxy?: boolean;
    };
}
interface LogsResourceOptions {
    since?: string | undefined;
    until?: string | undefined;
    filter?: string | undefined;
    q?: string | undefined;
    limit?: number;
    sortOrder?: 'ASCENDING' | 'DESCENDING' | undefined;
    after?: string | undefined;
}
/**
 * Handle system logs resource with real-time streaming capability
 */
export default function handleLogsResource(uri: string, container: Container): Promise<ResourceContents>;
/**
 * Stream all logs efficiently for bulk operations or monitoring
 * This is an additional export for programmatic use
 */
export declare function streamAllLogs(container: Container, options?: LogsResourceOptions): AsyncGenerator<SystemLog, void, undefined>;
/**
 * Monitor logs in real-time with polling
 * This function polls for new logs at regular intervals
 */
export declare function monitorLogs(container: Container, options?: {
    pollingInterval?: number;
    filter?: string;
    q?: string;
}): AsyncGenerator<SystemLog, void, undefined>;
export {};
//# sourceMappingURL=logs.d.ts.map