import type { CinemaReferenceEntry, CinemaReferencePackArtifact, CinemaSha256 } from './cinema-types.js'; export interface CinemaIdentityVariantSource extends CinemaReferenceEntry { role: 'identity_face'; identityBearingFaceCount: 1; identityVariant: 'canonical' | 'profile' | 'expression' | 'injury'; } export interface CinemaProviderReferenceProjection { schemaVersion: 1; projectSlug: string; shotId: string; packId: string; routeId: string; packaging: 'multi-input' | 'composite'; semanticBindings: Array<{ assetId: string; contentHash: CinemaSha256; role: CinemaReferenceEntry['role']; visibilityIntent: CinemaReferenceEntry['visibilityIntent']; subjectId: string; state: CinemaReferenceEntry['state'] | null; controls: string; mustNotTransfer: string; }>; providerInputs: Array<{ inputId: string; sourceAssetIds: string[]; path: string | null; contentHash: CinemaSha256; }>; contentHash: CinemaSha256; } export declare function selectCinemaIdentityVariant(input: { sources: CinemaIdentityVariantSource[]; selectedAssetId: string; }): CinemaIdentityVariantSource; export declare function projectCinemaReferencePack(input: { pack: CinemaReferencePackArtifact; routeId: string; packaging: 'multi-input' | 'composite'; maximumReferences: number; }): CinemaProviderReferenceProjection; export declare function validateCinemaProviderReferenceProjection(pack: CinemaReferencePackArtifact, projection: CinemaProviderReferenceProjection): string[]; //# sourceMappingURL=cinema-reference-projection.d.ts.map