export declare namespace Flare { type BeforeEvaluate = (error: Error) => Error | false | Promise; type BeforeSubmit = (report: ErrorReport) => ErrorReport | false | Promise; type Config = { key: string; reportingUrl: string; maxGlowsPerReport: number; maxReportsPerMinute: number; stage?: string; }; type ErrorReport = { notifier: string; exception_class: string; seen_at: number; message: string; language: 'javascript'; glows: Array; context: Flare.Context; stacktrace: Array; sourcemap_version_id: string; solutions: Array; stage?: string; }; interface SolutionProviderExtraParameters { } type SolutionProvider = { canSolve: (error: Error, extraParameters?: SolutionProviderExtraParameters) => boolean | Promise; getSolutions: (error: Error, extraParameters?: SolutionProviderExtraParameters) => Array | Promise>; }; type Solution = { class: string; title: string; description: string; links: { [label: string]: string; }; action_description?: string; is_runnable?: boolean; }; type Context = { request?: { url?: String; useragent?: String; referrer?: String; readyState?: String; }; request_data?: { queryString: { [key: string]: string; }; }; cookies?: { [key: string]: string; }; [key: string]: any; }; type StackFrame = { line_number: number; column_number: number; method: string; file: string; code_snippet: { [key: number]: string; }; trimmed_column_number: number | null; class: string; }; type Glow = { time: number; microtime: number; name: String; message_level: MessageLevel; meta_data: Array; }; type MessageLevel = 'info' | 'debug' | 'warning' | 'error' | 'critical'; }