import { ReactNode } from 'react';
export type ErrorType = {
    code: number;
    message: string;
};
export type RequestStatusType = 'requesting' | 'success' | 'error';
export interface GlobalProviderContext {
    triggerError: (error: ErrorType) => void;
    subscribeOnError: (callback: (error: ErrorType) => void) => () => void;
    triggerRequest: (status: RequestStatusType) => void;
    subscribeOnRequest: (callback: (status: RequestStatusType) => void) => () => void;
}
export declare const GlobalProvider: ({ children }: {
    children: ReactNode;
}) => import("react/jsx-runtime").JSX.Element;
export declare const useSubscribeOnError: () => (callback: (error: ErrorType) => void) => () => void;
export declare const useTriggerError: () => (error: ErrorType) => void;
export declare const useSubscribeOnRequest: () => (callback: (status: RequestStatusType) => void) => () => void;
export declare const useTriggerRequest: () => (status: RequestStatusType) => void;
