import { Record } from 'immutable'; import { Playhead } from '../ValueObject/Playhead'; /** * Make all properties in T null able */ export declare type Nullable = { [P in keyof T]: T[P] | null; }; export interface WithPlayheadInterface { readonly playhead: Playhead; setPlayhead(playhead?: Playhead): this; mutate(playhead: number | undefined, mutator: (self: this) => this): this; } export declare function RecordWithPlayhead>(defaultState: DefaultProps, name: string, initialPlayhead?: Playhead): new (defaultProps?: DefaultProps | undefined) => WithPlayheadInterface & Record<{ playhead: number; } & T> & { playhead: number; } & T;