import { type ExistingManifestContextOptions } from "./existing-manifest-context.mjs"; import type { ManifestComponentDeletion, ManifestScope } from "./manifest-builder.mjs"; import { Group, type GroupConfig, type GroupCoreRqlRule } from "./group.mjs"; /** Saved-group creation only; Composer does not support updating sharing grants. */ export interface SavedSuperGroupSharingGrant { shouldNotify: boolean; groups: readonly { group: Group; grantType: 'VIEWER' | 'COLLABORATOR'; }[]; } export interface SavedSuperGroupProps { apiName: string; group: Group; spokeOwnerHandle?: string; aliasAccessType?: 'Open' | 'Restricted'; /** Installed with a new saved group; Composer rejects changes to an existing sharing grant. */ sharingGrant?: SavedSuperGroupSharingGrant; } /** Saved identity for a reusable SUPERGROUP configuration. */ export declare class SavedSuperGroup { static readonly componentType: "SUPERGROUP"; static toDeletionIdentifier(apiName: string): ManifestComponentDeletion; /** Fresh content is reusable; hydrated content remains bound to this saved group's identity. */ readonly group: Group; private readonly _apiName; private readonly _spokeOwnerHandle; private readonly _aliasAccessType; private readonly _sharingGrant; private _loadedFromExisting; constructor(scope: ManifestScope, props: SavedSuperGroupProps); static loadFromExisting(apiName: string, options?: ExistingManifestContextOptions): SavedSuperGroup; /** @internal Hydrates a saved alias from existing manifest wire JSON. */ static _fromExistingComponent(scope: ManifestScope, component: Record): SavedSuperGroup; getApiName(): string; getName(): string; setName(name: string): this; setDescription(description: string | null): this; setCoreRqlRule(rule: GroupCoreRqlRule | null): this; getReferencedGroups(): SavedSuperGroup[]; toDict(): GroupConfig; } //# sourceMappingURL=saved-super-group.d.mts.map