export interface TraceSummary {
    Id?: string;
    StartTime?: number;
    Duration?: number;
    ResponseTime?: number;
    HasError?: boolean;
    HasFault?: boolean;
    HasThrottle?: boolean;
    Http?: {
        HttpURL?: string;
        HttpStatus?: number;
        HttpMethod?: string;
        ClientIp?: string;
        UserAgent?: string;
    };
    ErrorRootCauses?: any[];
    FaultRootCauses?: any[];
}
export interface XRayTrace {
    Id?: string;
    Duration?: number;
    Segments?: Array<{
        Id?: string;
        Document?: string;
    }>;
}
export declare class XRayClient {
    private client;
    private region;
    constructor(region?: string);
    /**
     * List trace summaries between two times. `filterExpression` is an X-Ray
     * filter (e.g. `service("acme-production-http")` or `error = true`).
     */
    getTraceSummaries(options: {
        startTime: Date;
        endTime: Date;
        filterExpression?: string;
        nextToken?: string;
    }): Promise<{
        summaries: TraceSummary[];
        nextToken?: string;
    }>;
    /** Fetch full traces (segment documents) for up to 5 trace ids. */
    batchGetTraces(traceIds: string[]): Promise<XRayTrace[]>;
}
