/// <reference types="node" />
/// <reference types="node" />
export declare type Guest = {
    avatarId: string;
    name: string;
    id: string;
    isGuest: true;
};
export declare type Peer = {
    id: string;
    hasJoinedRoom: boolean;
    joinedRoomId: null | string;
    joinedRoomAt: null | string;
    user: Guest;
};
export declare type ChallengeRecord = {
    id: string;
    gameSpecs: {
        timeLimit: 'bullet30' | 'bullet1' | 'blitz2' | 'blitz3' | 'blitz5';
        preferredColor?: 'white' | 'black' | 'random';
        gameType?: 'chess';
    };
    createdBy: string;
    createdAt: string;
    slug: string;
    type: 'public' | 'private';
};
export declare type CollectionMap = {
    peers: Peer;
    guests: Guest;
    challenges: ChallengeRecord;
    simpleItems: {
        id: string;
        name: string;
        age: number;
    };
    itemWithMultipleForeignCollections: {
        id: string;
        user: Guest;
        peer: Peer;
    };
    simpleIndexableItems: {
        id: string;
        name: string;
        type: 'pending' | 'started' | 'ended';
    };
};
export declare type QueueMap = {
    quickPairings: {
        challengeId: string;
    };
    queueWithManyKeys: {
        simpleStringKey: string;
        nestedKey: {
            simpleNummberKey: number;
            arrayOfNumber: number[];
        };
        arrayOfString: string[];
    };
};
export declare const noop: () => void;
export declare const silentLogger: {
    info: () => void;
    log: () => void;
    warn: () => void;
    error: () => void;
    Console: console.ConsoleConstructor;
    assert(value: any, message?: string | undefined, ...optionalParams: any[]): void;
    clear(): void;
    count(label?: string | undefined): void;
    countReset(label?: string | undefined): void;
    debug(message?: any, ...optionalParams: any[]): void;
    dir(obj: any, options?: import("util").InspectOptions | undefined): void;
    dirxml(...data: any[]): void;
    group(...label: any[]): void;
    groupCollapsed(...label: any[]): void;
    groupEnd(): void;
    table(tabularData: any, properties?: readonly string[] | undefined): void;
    time(label?: string | undefined): void;
    timeEnd(label?: string | undefined): void;
    timeLog(label?: string | undefined, ...data: any[]): void;
    trace(message?: any, ...optionalParams: any[]): void;
    profile(label?: string | undefined): void;
    profileEnd(label?: string | undefined): void;
    timeStamp(label?: string | undefined): void;
};
