import { z } from "zod"; export declare const PairIdSchema: z.ZodString; export declare const MemberIdSchema: z.ZodString; export declare const InviteTokenSchema: z.ZodString; export declare const NamespaceSchema: z.ZodDefault; export declare const KeySchema: z.ZodString; export type PairId = z.infer; export type MemberId = z.infer; export type InviteToken = z.infer; export declare const MemberRoleSchema: z.ZodEnum<["owner", "member"]>; export type MemberRole = z.infer; export interface PairRecord { pairId: PairId; displayName: string | null; createdAt: string; schemaVersion: number; } export interface MemberRecord { memberId: MemberId; pairId: PairId; displayName: string | null; joinedAt: string; leftAt: string | null; role: MemberRole; } export interface InviteRecord { inviteToken: InviteToken; pairId: PairId; inviterMemberId: MemberId; inviteeHint: string | null; expiresAt: string; acceptedAt: string | null; acceptedByMemberId: MemberId | null; } export interface MemberStateRow { memberId: MemberId; pairId: PairId; key: string; value: unknown; validFrom: string; validTo: string | null; } export interface PairStateRow { pairId: PairId; namespace: string; key: string; value: unknown; writtenByMemberId: MemberId; validFrom: string; validTo: string | null; version: number; } export interface Conflict { pairId: PairId; namespace: string; key: string; candidates: PairStateRow[]; } export interface Resolution { pairId: PairId; namespace: string; key: string; winnerVersion: number; } export interface CreatePairOptions { creatorMemberId: MemberId; displayName?: string | null | undefined; } export interface InviteMemberOptions { pairId: PairId; inviterMemberId: MemberId; inviteeHint?: string | null | undefined; ttlSeconds?: number | undefined; } export interface AcceptInviteOptions { inviteToken: InviteToken; memberId: MemberId; displayName?: string | null | undefined; } export declare class TenantPairError extends Error { readonly code: string; constructor(code: string, message: string); } export declare const SCHEMA_VERSION = 1; export declare const DEFAULT_INVITE_TTL_SECONDS: number; export declare const DEFAULT_NAMESPACE = "default"; //# sourceMappingURL=types.d.ts.map