import type { MediaAssetKind, MediaAssetReference, UiNode } from '@ankhorage/contracts'; export interface StudioAuthoringPropSchema { readonly type: string; readonly category: string; readonly label?: string; readonly enum?: readonly (string | number)[]; readonly mediaKinds?: readonly MediaAssetKind[]; readonly default?: unknown; readonly authoring?: { readonly authority: string; }; } export interface StudioAuthoringComponentMeta { readonly name: string; readonly props: Readonly>; } export type StudioAuthoringMetaRegistry = Readonly>; export type StudioInstancePropertyEditorKind = 'text' | 'number' | 'boolean' | 'choice' | 'media' | 'unsupported'; export interface StudioInstancePropertyField { readonly name: string; readonly label: string; readonly category: string; readonly schemaType: string; readonly editor: StudioInstancePropertyEditorKind; readonly options: readonly (string | number)[]; readonly mediaKinds?: readonly MediaAssetKind[]; readonly value: unknown; readonly defaultValue: unknown; readonly isExplicit: boolean; } export interface StudioInstancePropertyGroup { readonly category: string; readonly fields: readonly StudioInstancePropertyField[]; } export type StudioInstancePropertyValue = string | number | boolean | MediaAssetReference; export declare function resolveStudioInstancePropertyFields(node: UiNode, registry: StudioAuthoringMetaRegistry): readonly StudioInstancePropertyField[]; export declare function resolveStudioInstancePropertyGroups(node: UiNode, registry: StudioAuthoringMetaRegistry): readonly StudioInstancePropertyGroup[]; export declare function createStudioInstancePropertyPatch(node: UiNode, propertyName: string, value: StudioInstancePropertyValue | undefined): Readonly>; //# sourceMappingURL=propertiesAuthoringModel.d.ts.map