import { type BaseMessage } from './messages'; interface V1BaseMessage extends BaseMessage<1> { type: T; } export type Permissions = { allowList: Uint8Array[]; denyList: Uint8Array[]; }; export interface InitMessage extends V1BaseMessage<'init'> { permissions?: Permissions; } export declare function createInitMessage(sender: Uint8Array, recipient?: Uint8Array, permissions?: Permissions): InitMessage; export interface ChallengeMessage extends V1BaseMessage<'challenge'> { challenge: Uint8Array; difficulty: Uint8Array; } export declare function createChallengeMessage(recipient: Uint8Array, challenge: Uint8Array, difficulty: Uint8Array, sender?: Uint8Array): ChallengeMessage; export interface ResponseMessage extends V1BaseMessage<'response'> { challenge: Uint8Array; publicKey: Uint8Array; nonce: Uint8Array; signature: Uint8Array; } export declare function createResponseMessage(sender: Uint8Array, challenge: Uint8Array, publicKey: Uint8Array, nonce: Uint8Array, signature: Uint8Array, recipient?: Uint8Array): ResponseMessage; export interface AcceptedMessage extends V1BaseMessage<'accepted'> { } export declare function createAcceptedMessage(recipient: Uint8Array, sender?: Uint8Array): AcceptedMessage; export interface PayloadMessage extends V1BaseMessage<'payload'> { payload: Uint8Array; } export declare function createPayloadMessage(sender: Uint8Array, recipient: Uint8Array, payload: Uint8Array): PayloadMessage; export type V1Message = InitMessage | ChallengeMessage | ResponseMessage | AcceptedMessage | PayloadMessage; export declare const V1MessageCode: Record; export {}; //# sourceMappingURL=v1-messages.d.ts.map