import React, { PropsWithChildren } from "react";
export declare type LogMessage = {
    id: number;
    time: number;
    text: string;
    count?: number;
    start?: number;
    context?: LogMessageContext;
};
declare type LogMessageContext = {
    id: string;
    duration: number;
};
declare function useLogState(limit?: number): {
    messages: LogMessage[];
    limit: number;
    info(text: string, context?: LogMessageContext | undefined): void;
};
export declare type LogContext = ReturnType<typeof useLogState>;
export declare type LogProviderProps = PropsWithChildren<{
    limit?: number;
}>;
export declare const logContext: React.Context<{
    messages: LogMessage[];
    limit: number;
    info(text: string, context?: LogMessageContext | undefined): void;
}>;
export declare const LogProvider: React.ForwardRefExoticComponent<{
    limit?: number | undefined;
} & {
    children?: React.ReactNode;
} & React.RefAttributes<{
    messages: LogMessage[];
    limit: number;
    info(text: string, context?: LogMessageContext | undefined): void;
}>>;
export declare function useLog(): {
    messages: LogMessage[];
    limit: number;
    info(text: string, context?: LogMessageContext | undefined): void;
};
export {};
//# sourceMappingURL=log.d.ts.map