import { z } from 'zod'; /** * The scope types that name a principal, and so require a value. The union's * named branch is built from this rather than repeating the list, so a new * scope type cannot be accepted on input while the output projection silently * drops it. */ export declare const NamedAclScopeType: z.ZodEnum<{ domain: "domain"; group: "group"; user: "user"; }>; export type NamedAclScopeType = z.infer; /** * The kinds of principal a sharing rule can name, the public scope included. * * Exported separately from AclScope because AclScope is a union and so has no * single `shape` to read the type list from; the projection narrows against * this (EXTENDING.md, "Enum policy": the allowed list derives from the entity). * Derived from NamedAclScopeType so the two stay one vocabulary. */ export declare const AclScopeType: z.ZodEnum<{ default: "default"; domain: "domain"; group: "group"; user: "user"; }>; export type AclScopeType = z.infer; /** * The extent to which calendar access is granted by an access control rule: * who the rule is about. * * A discriminated union rather than one object with an optional `value`, * because the two shapes genuinely differ: `default` is the public scope and * takes no value, while `user`, `group`, and `domain` each name a principal * and require one. Modeling it as a union is what makes the emitted JSON * Schema (`oneOf`, each branch with its own `required`) match what the server * actually accepts; a refinement would validate at runtime but advertise the * wider shape to every MCP client, so an agent would build a call the schema * told it was legal and then be rejected. * * The pairing is enforced rather than merely documented because Google does * not enforce it, and its failure mode is severe: sending a value alongside * type `default` is accepted, the value is discarded for * `__public_principal__`, and the calendar becomes public. Verified against * the live API, not inferred. * * Both branches are strict, per EXTENDING.md's strict-input rule. * * @see https://developers.google.com/workspace/calendar/api/concepts/sharing */ export declare const AclScope: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"default">; }, z.core.$strict>, z.ZodObject<{ type: z.ZodEnum<{ domain: "domain"; group: "group"; user: "user"; }>; value: z.ZodString; }, z.core.$strict>], "type">; export type AclScope = z.infer; //# sourceMappingURL=AclScope.d.ts.map