/**
 * MailboxAddress - Value Object for root + shard mailbox targeting
 *
 * A mailbox address uniquely identifies WHERE to deliver a message.
 * It combines a RootId (the namespace) with a ShardId (the partition).
 *
 * IMPORTANT: This is the ONLY way to construct a delivery target.
 * Do NOT use string concatenation or heuristics to derive mailbox addresses.
 */
import { RootId } from './root_id';
import { ShardId } from './shard_id';
export declare class MailboxAddress {
    private readonly _root;
    private readonly _shard;
    private constructor();
    /**
     * Create a mailbox address for a specific root and shard.
     */
    static of(root: RootId, shard?: ShardId): MailboxAddress;
    /**
     * Create a mailbox address from string values.
     * Uses default shard if not specified.
     */
    static fromStrings(root: string, shard?: string): MailboxAddress;
    /**
     * Create a mailbox address with the default shard (for browser tabs).
     */
    static defaultShard(root: RootId): MailboxAddress;
    /**
     * Get the root.
     */
    get root(): RootId;
    /**
     * @deprecated Use .root instead.
     */
    get realm(): RootId;
    /**
     * Get the shard.
     */
    get shard(): ShardId;
    /**
     * Get the root as a string (convenience).
     */
    get rootString(): string;
    /**
     * @deprecated Use .rootString instead.
     */
    get realmString(): string;
    /**
     * Get the shard as a string (convenience).
     */
    get shardString(): string;
    /**
     * Check equality.
     */
    equals(other: MailboxAddress | null | undefined): boolean;
    /**
     * Unique key for Map/Set usage.
     */
    toKey(): string;
    toString(): string;
    toJSON(): {
        root: string;
        shard: string;
    };
}
export declare function isMailboxAddress(value: unknown): value is MailboxAddress;
//# sourceMappingURL=mailbox_address.d.ts.map