ClusterInstance: MutableCluster<{
    attributes: {
        currentState: Attribute<MediaPlayback.PlaybackState, any>;
    };
    commands: {
        next: OptionalCommand<void, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        pause: Command<void, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        play: Command<void, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        previous: OptionalCommand<void, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        skipBackward: OptionalCommand<TypeFromFields<{
            deltaPositionMilliseconds: FieldType<number | bigint>;
        }>, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        skipForward: OptionalCommand<TypeFromFields<{
            deltaPositionMilliseconds: FieldType<number | bigint>;
        }>, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        startOver: OptionalCommand<void, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
        stop: Command<void, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<MediaPlayback.Status>;
        }>, any>;
    };
    events: {
        stateChanged: OptionalEvent<TypeFromFields<{
            audioAdvanceUnmuted: OptionalFieldType<boolean>;
            currentState: FieldType<MediaPlayback.PlaybackState>;
            data: OptionalFieldType<Uint8Array>;
            duration: OptionalFieldType<number | bigint>;
            playbackSpeed: OptionalFieldType<number>;
            sampledPosition: OptionalFieldType<TypeFromFields<{
                position: FieldType<(...) | (...) | (...)>;
                updatedAt: FieldType<(...) | (...)>;
            }>>;
            seekRangeEnd: OptionalFieldType<number | bigint>;
            seekRangeStart: OptionalFieldType<number | bigint>;
            startTime: OptionalFieldType<number | bigint>;
        }>, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                duration: Attribute<null | number | bigint, any>;
                playbackSpeed: Attribute<number, any>;
                sampledPosition: Attribute<null | TypeFromFields<{
                    position: FieldType<(...)>;
                    updatedAt: FieldType<(...)>;
                }>, any>;
                seekRangeEnd: Attribute<null | number | bigint, any>;
                seekRangeStart: Attribute<null | number | bigint, any>;
                startTime: Attribute<null | number | bigint, any>;
            };
            commands: {
                seek: Command<TypeFromFields<{
                    position: FieldType<(...) | (...)>;
                }>, TypeFromFields<{
                    data: OptionalFieldType<string>;
                    status: FieldType<MediaPlayback.Status>;
                }>, any>;
            };
        };
        flags: {
            advancedSeek: true;
        };
    }, {
        component: {
            attributes: {
                activeAudioTrack: Attribute<null | TypeFromFields<{
                    id: FieldType<(...)>;
                    trackAttributes: FieldType<(...)>;
                }>, any>;
                availableAudioTracks: Attribute<null | TypeFromFields<{
                    id: ...;
                    trackAttributes: ...;
                }>[], any>;
            };
            commands: {
                activateAudioTrack: Command<TypeFromFields<{
                    audioOutputIndex: OptionalFieldType<(...) | (...)>;
                    trackId: FieldType<string>;
                }>, void, any>;
            };
        };
        flags: {
            audioTracks: true;
        };
    }, {
        component: {
            attributes: {
                activeTextTrack: Attribute<null | TypeFromFields<{
                    id: FieldType<(...)>;
                    trackAttributes: FieldType<(...)>;
                }>, any>;
                availableTextTracks: Attribute<null | TypeFromFields<{
                    id: ...;
                    trackAttributes: ...;
                }>[], any>;
            };
            commands: {
                activateTextTrack: Command<TypeFromFields<{
                    trackId: FieldType<string>;
                }>, void, any>;
                deactivateTextTrack: Command<void, void, any>;
            };
        };
        flags: {
            textTracks: true;
        };
    }, {
        component: {
            commands: {
                fastForward: Command<TypeFromFields<{
                    audioAdvanceUnmuted: OptionalFieldType<boolean>;
                }>, TypeFromFields<{
                    data: OptionalFieldType<string>;
                    status: FieldType<MediaPlayback.Status>;
                }>, any>;
                rewind: Command<TypeFromFields<{
                    audioAdvanceUnmuted: OptionalFieldType<boolean>;
                }>, TypeFromFields<{
                    data: OptionalFieldType<string>;
                    status: FieldType<MediaPlayback.Status>;
                }>, any>;
            };
        };
        flags: {
            variableSpeed: true;
        };
    }];
    features: {
        advancedSeek: BitFlag;
        audioAdvance: BitFlag;
        audioTracks: BitFlag;
        textTracks: BitFlag;
        variableSpeed: BitFlag;
    };
    id: 1286;
    name: "MediaPlayback";
    revision: 2;
}, []> = ...

Type declaration