import { ItemEntity } from '@pie-players/pie-players-shared/types';
import { SectionCompositionModel } from '../../controllers/types.js';
import { PlayerElementParams } from './player-action.js';
export type LayoutCompositionSnapshot = {
    compositionModel: SectionCompositionModel;
    passages: SectionCompositionModel["passages"];
    items: SectionCompositionModel["items"];
    renderables: ItemEntity[];
    renderablesSignature: string;
};
export declare function getCompositionFromEvent(event: Event): SectionCompositionModel;
export declare function deriveLayoutCompositionSnapshot(compositionModel: SectionCompositionModel): LayoutCompositionSnapshot;
export declare function getCompositionSnapshotFromEvent(event: Event): LayoutCompositionSnapshot;
export declare function getPassagePlayerParams(args: {
    passage: any;
    resolvedPlayerEnv: Record<string, unknown>;
    resolvedPlayerAttributes: Record<string, string>;
    resolvedPlayerProps: Record<string, unknown>;
    playerStrategy: string;
}): PlayerElementParams;
export declare function getItemPlayerParams(args: {
    item: ItemEntity;
    compositionModel: SectionCompositionModel;
    resolvedPlayerEnv: Record<string, unknown>;
    resolvedPlayerAttributes: Record<string, string>;
    resolvedPlayerProps: Record<string, unknown>;
    playerStrategy: string;
}): PlayerElementParams;
export declare function getCanonicalItemId(args: {
    compositionModel: SectionCompositionModel;
    item: ItemEntity;
}): string;
