/** Public, server-only workspace assertion contract. */ export declare const DOCSMINT_WORKSPACE_CONTEXT_HEADER = "x-docsmint-workspace-context"; export type WorkspaceRole = "owner" | "admin" | "editor" | "viewer"; export type WorkspaceResourcePermission = "read" | "edit" | "write"; export type WorkspaceResourceScope = Readonly<{ kind: "category"; categoryId: string; permissions: readonly WorkspaceResourcePermission[]; }>; export type WorkspaceAssertionPayload = Readonly<{ actorUserId: string; workspaceId: string; actorRole: WorkspaceRole; resourceScope?: WorkspaceResourceScope; issuedAt: number; expiresAt: number; issuer: string; }>; export type DocsmintWorkspaceContext = WorkspaceAssertionPayload; export type WorkspaceAssertionOptions = Readonly<{ secret: string; issuer: string; nowSeconds?: number; clockSkewSeconds?: number; /** @deprecated Assertion lifetime is fixed at 60 seconds. */ maxTtlSeconds?: never; }>; export declare const DOCSMINT_WORKSPACE_ASSERTION_TTL_SECONDS = 60; export declare const DOCSMINT_WORKSPACE_ASSERTION_CLOCK_SKEW_SECONDS = 5; export declare function createDocsmintWorkspaceAssertion(context: DocsmintWorkspaceContext, secret: string): Promise; export declare function verifyDocsmintWorkspaceAssertion(assertion: string, options: WorkspaceAssertionOptions): Promise;