import z from 'zod';
export type IceUsernameFragment = string & {
    IceUsernameFragment: never;
};
export declare const ICE_USERNAME_FRAGMENT_SIZE = 4;
export declare function getRandomIceUsernameFragment(): IceUsernameFragment;
export declare const IceUsernameFragmentSchema: z.ZodEffects<z.ZodString, IceUsernameFragment, string>;
export type IceUsername = `${IceUsernameFragment}:${IceUsernameFragment}` & {
    IceUsername: never;
};
export type IceUsernamesParams = Readonly<{
    serverIceUsernameFragment: IceUsernameFragment;
    clientIceUsernameFragment: IceUsernameFragment;
}>;
export type IceUsernames = Readonly<{
    serverIceUsername: IceUsername;
    clientIceUsername: IceUsername;
}>;
export declare function getIceUsernames(params: IceUsernamesParams): IceUsernames;
export declare function getClientIceUsername(params: {
    serverIceUsernameFragment: IceUsernameFragment;
    clientIceUsernameFragment: IceUsernameFragment;
}): IceUsername;
export type IcePassword = string & {
    IcePassword: never;
};
export declare const ICE_PASSWORD_SIZE = 32;
export declare function getRandomIcePassword(): IcePassword;
export declare const IcePasswordSchema: z.ZodEffects<z.ZodString, IcePassword, string>;
