import { type TypingData } from './registry.js';
import { Resource } from '@restorecommerce/rc-grpc-clients/dist/generated/io/restorecommerce/resource_base.js';
import { Subject } from '@restorecommerce/rc-grpc-clients/dist/generated/io/restorecommerce/auth.js';
export declare const capitalizeProtoName: (name: string) => string;
export declare const convertyCamelToSnakeCase: (entity: string) => string;
export declare const getKeys: (obj: any) => string[];
export declare const decodeBufferFields: (items: any[], bufferFields: string[]) => any;
/**
 * converts enum string values to integers reading from the inputTyping
 * @param TypingData input typing
 * @param req request object from which the enum strings to be replaced
 */
export declare const convertEnumToInt: (inputTyping: TypingData, req: any) => any;
export declare const capitalize: (s: string) => string;
export declare const snakeToCamel: (s: string) => string;
export declare const camelToSnake: (serviceName: string) => string;
export declare const getServiceName: (serviceName: string) => string;
export declare const camelCase: (s: string) => string;
export declare const setUseSubscriptions: (value: boolean) => boolean;
export declare const getUseSubscriptions: () => boolean;
export declare class LatentBuffer<T, TResult> {
    private readonly callback?;
    private buffer?;
    private promise?;
    private timeout?;
    constructor(callback?: (buffer: Array<T>) => TResult);
    push(...items: T[]): number;
    await(latency?: number): Promise<TResult>;
    reset(): void;
}
export declare class LatentResourceMapBuffer extends LatentBuffer<string, Promise<Map<string, Resource>>> {
}
export interface ResolverContext {
    subject: Subject;
    latent: Record<string, LatentResourceMapBuffer>;
    [key: string]: any;
}
//# sourceMappingURL=utils.d.ts.map