1/**
2 * Copyright (c) 650 Industries.
3 * Copyright (c) Meta Platforms, Inc. and affiliates.
4 *
5 * This source code is licensed under the MIT license found in the
6 * LICENSE file in the root directory of this source tree.
7 */
8import type { Stack } from './LogBoxSymbolication';
9import type { Category, Message, ComponentStack, CodeFrame } from './parseLogBoxLog';
10type SymbolicationStatus = 'NONE' | 'PENDING' | 'COMPLETE' | 'FAILED';
11export type LogLevel = 'warn' | 'error' | 'fatal' | 'syntax' | 'static';
12export type LogBoxLogData = {
13    level: LogLevel;
14    type?: string;
15    message: Message;
16    stack: Stack;
17    category: string;
18    componentStack: ComponentStack;
19    codeFrame?: CodeFrame;
20    isComponentError: boolean;
21};
22export type StackType = 'stack' | 'component';
23type SymbolicationResult = {
24    error: null;
25    stack: null;
26    status: 'NONE';
27} | {
28    error: null;
29    stack: null;
30    status: 'PENDING';
31} | {
32    error: null;
33    stack: Stack;
34    status: 'COMPLETE';
35} | {
36    error: Error;
37    stack: null;
38    status: 'FAILED';
39};
40export declare class LogBoxLog {
41    message: Message;
42    type: string;
43    category: Category;
44    componentStack: ComponentStack;
45    stack: Stack;
46    count: number;
47    level: LogLevel;
48    codeFrame?: CodeFrame;
49    isComponentError: boolean;
50    symbolicated: Record<StackType, SymbolicationResult>;
51    private callbacks;
52    constructor(data: LogBoxLogData & {
53        symbolicated?: Record<StackType, SymbolicationResult>;
54    });
55    incrementCount(): void;
56    getAvailableStack(type: StackType): Stack | null;
57    private flushCallbacks;
58    private pushCallback;
59    retrySymbolicate(type: StackType, callback?: (status: SymbolicationStatus) => void): void;
60    symbolicate(type: StackType, callback?: (status: SymbolicationStatus) => void): void;
61    private _symbolicate;
62    private componentStackCache;
63    private getStack;
64    private handleSymbolicate;
65    private updateStatus;
66}
67export {};
68//# sourceMappingURL=LogBoxLog.d.ts.map