import { Logger, LogLevel } from "@itwin/core-bentley";
/**
 * SequentialLogMatcher match log messages in order and remove them from the list. Any test using
 * should check if length come down to zero. If its not then test should fail.
 */
export declare class SequentialLogMatcher extends Logger {
    private _suppressMatchLogMsgs;
    private _rules;
    private _originalLogError;
    private _originalLogWarning;
    private _originalLogInfo;
    private _originalLogTrace;
    private allow;
    constructor(_suppressMatchLogMsgs?: boolean);
    append(): LogMatchRule;
    finish(): boolean;
    finishAndDispose(): boolean;
    get length(): number;
}
export declare class LogMatchRule {
    private _level?;
    private _category?;
    private _message?;
    private _metaDataCheck?;
    test(level: LogLevel, category: string, message: string): boolean;
    private level;
    trace(): LogMatchRule;
    error(): LogMatchRule;
    info(): LogMatchRule;
    warn(): LogMatchRule;
    category(category: string | RegExp): LogMatchRule;
    message(message: string | RegExp): LogMatchRule;
    metadata(check: (data: any) => boolean): LogMatchRule;
}
//# sourceMappingURL=SequentialLogMatcher.d.ts.map