import type { MemberRole } from "../schemas/shared.js"; export type ControlReach = "never" | "editor" | "read" | "land"; export interface RouteMeta { readonly auth?: "session" | "door"; readonly embedded?: true; readonly beforeBoot?: true; readonly stream?: true; readonly floor?: MemberRole; readonly guest?: true; readonly home?: "land"; readonly attachmentFloor?: MemberRole; readonly enrolment?: true; readonly agent?: true; readonly sync?: "poll" | "pipe"; readonly panel?: false; readonly control?: ControlReach; readonly lane?: "bulk"; readonly netd?: true; } export declare const defaultFloor: (method: string) => MemberRole; declare const ACCESS: { readonly auth: (meta: RouteMeta) => "door" | "session"; readonly embedded: (meta: RouteMeta) => boolean; readonly beforeBoot: (meta: RouteMeta) => boolean; readonly stream: (meta: RouteMeta) => boolean; readonly floor: (meta: RouteMeta, method: string) => "collaborator" | "guest" | "maintainer" | "owner" | "viewer" | "writer"; readonly guest: (meta: RouteMeta) => boolean; readonly home: (meta: RouteMeta) => "land" | "none"; readonly attachmentFloor: (meta: RouteMeta) => "collaborator" | "guest" | "maintainer" | "none" | "owner" | "viewer" | "writer"; readonly enrolment: (meta: RouteMeta) => boolean; readonly agent: (meta: RouteMeta) => boolean; readonly sync: (meta: RouteMeta) => "none" | "pipe" | "poll"; readonly panel: (meta: RouteMeta) => boolean; readonly control: (meta: RouteMeta) => "floor" | ControlReach; }; export type RouteAccess = { readonly [K in keyof typeof ACCESS]: ReturnType<(typeof ACCESS)[K]>; }; export declare const routeAccess: (method: string, meta: RouteMeta) => RouteAccess; export declare const procedure: import("@orpc/contract").ContractBuilder, import("@orpc/contract").Schema, Record, RouteMeta & Record>; export {}; //# sourceMappingURL=route-meta.d.ts.map