import { z } from 'zod'; export declare const authorityZ: z.ZodInt; export type Authority = z.infer; export declare enum Concurrency { exclusive = 0, shared = 1 } export declare const concurrencyZ: z.ZodEnum; /** * Subject is an entity that can hold control authority over a resource. Typically * represents a user, process, or service. */ export declare const subjectZ: z.ZodObject<{ key: z.ZodString; name: z.ZodString; group: z.ZodOptional; }, z.core.$strip>; export interface Subject extends z.infer { } export declare const stateZ: (r: R) => z.ZodObject<{ subject: z.ZodObject<{ key: z.ZodString; name: z.ZodString; group: z.ZodOptional; }, z.core.$strip>; resource: R; authority: z.ZodInt; }, z.core.$strip>; export interface State { subject: Subject; resource: z.infer; authority: Authority; } //# sourceMappingURL=types.gen.d.ts.map