import type { ErrorStore, ErrorStoreConfig, ErrorContext, UserContext, Breadcrumb, NormalizedError, ErrorAdapter, ErrorListener } from './types';
declare class ErrorStoreImpl implements ErrorStore {
    context: ErrorContext;
    breadcrumbs: Breadcrumb[];
    adapters: Map<string, ErrorAdapter>;
    activeAdapter: string | null;
    config: ErrorStoreConfig;
    initialized: boolean;
    offline: boolean;
    errorQueue: NormalizedError[];
    private listeners;
    private globalHandlersInstalled;
    private offlineHandler?;
    private onlineHandler?;
    constructor();
    initialize(config?: ErrorStoreConfig): void;
    captureError(error: Error | string, additionalContext?: Partial<ErrorContext>): void;
    captureMessage(message: string, level?: string): void;
    setUser(user: UserContext | null): void;
    setContext(context: Partial<ErrorContext>): void;
    addBreadcrumb(breadcrumb: Omit<Breadcrumb, 'timestamp'>): void;
    clearBreadcrumbs(): void;
    useAdapter(name: string, config?: any): Promise<void>;
    removeAdapter(name: string): void;
    flush(): Promise<void>;
    reset(): void;
    subscribe(listener: ErrorListener): () => void;
    registerAdapter(name: string, adapter: ErrorAdapter): void;
    private normalizeError;
    private sendToAdapter;
    private installGlobalHandlers;
    private removeGlobalHandlers;
    private setupOfflineHandlers;
    private processOfflineQueue;
    private loadBuiltInAdapter;
}
export declare const errorStore: ErrorStoreImpl;
export declare const initialize: (config?: ErrorStoreConfig) => void;
export declare const captureError: (error: Error | string, additionalContext?: Partial<ErrorContext>) => void;
export declare const captureMessage: (message: string, level?: string) => void;
export declare const setUser: (user: UserContext | null) => void;
export declare const setContext: (context: Partial<ErrorContext>) => void;
export declare const addBreadcrumb: (breadcrumb: Omit<Breadcrumb, "timestamp">) => void;
export declare const clearBreadcrumbs: () => void;
export declare const useAdapter: (name: string, config?: any) => Promise<void>;
export declare const removeAdapter: (name: string) => void;
export declare const flush: () => Promise<void>;
export declare const reset: () => void;
export declare const subscribe: (listener: ErrorListener) => () => void;
export declare const registerAdapter: (name: string, adapter: ErrorAdapter) => void;
export {};
//# sourceMappingURL=error-store.d.ts.map