import * as plugins from '../plugins.js';
import * as authInterfaces from '../data/auth.js';
import * as statsInterfaces from '../data/stats.js';
export interface IReq_GetRecentLogs extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetRecentLogs> {
    method: 'getRecentLogs';
    request: {
        identity?: authInterfaces.IIdentity;
        apiToken?: string;
        level?: 'debug' | 'info' | 'warn' | 'error';
        category?: 'smtp' | 'dns' | 'security' | 'system' | 'email';
        limit?: number;
        offset?: number;
        search?: string;
        timeRange?: '1h' | '6h' | '24h' | '7d' | '30d';
    };
    response: {
        logs: statsInterfaces.ILogEntry[];
        total: number;
        hasMore: boolean;
    };
}
export interface IReq_GetLogStream extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_GetLogStream> {
    method: 'getLogStream';
    request: {
        identity?: authInterfaces.IIdentity;
        apiToken?: string;
        follow?: boolean;
        filters?: {
            level?: string[];
            category?: string[];
        };
    };
    response: {
        logStream: plugins.typedrequestInterfaces.IVirtualStream;
    };
}
export interface IReq_PushLogEntry extends plugins.typedrequestInterfaces.implementsTR<plugins.typedrequestInterfaces.ITypedRequest, IReq_PushLogEntry> {
    method: 'pushLogEntry';
    request: {
        entry: statsInterfaces.ILogEntry;
    };
    response: {};
}
