export declare const all: {
    <T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>;
    <T_1 extends readonly unknown[] | []>(values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited<T_1[P]>; }>;
};
export declare const race: {
    <T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>>;
    <T_1 extends readonly unknown[] | []>(values: T_1): Promise<Awaited<T_1[number]>>;
};
export declare function noop(): void;
export declare function get<K extends string>(key: K): <T extends Record<K, any>>(object: T) => T extends Record<K, infer V> ? V : never;
export declare function zip<T = unknown>(keys: string[], values: T[]): Hash<T>;
export declare function own<V = unknown, T extends string = string>(box: unknown, field: T): box is Record<T, V>;
export declare function copyJson<T extends object>(json: T | undefined): T extends DeepFrozen<infer R> ? R : T | undefined;
export declare function freezeJson<T>(target: T, visited?: Set<unknown>): T;
export declare function errorMessage(error: unknown): string;
export declare function fallbackLang(lang: string): "ru" | "en";
export declare class Defer<T = any> {
    promise: Promise<T>;
    resolve: (result: T) => void;
    reject: (error: unknown) => void;
    constructor();
}
type CancelAPI = {
    cancel: () => void;
    skip: () => void;
};
export declare function wait(delay: number, action?: () => void): Promise<void> & CancelAPI;
export type Bucket<T> = {
    get(): T;
    set(value: T): void;
};
export declare function bucket<T>(): {
    get: () => T;
    set: (value: T) => void;
};
export declare class Buckets<T> {
    private scope;
    bind(key: string): {
        get: () => T;
        set: (value: T) => void;
    };
    set(key: string, value: T): void;
    get(key: string): T;
    delete(key: string): void;
}
export {};
