import EventEmitter from "events";
import isaacConnection from "../../controller/isaac.js";
import { IsaacPlayableType, UpdateIsaacPlayableType } from "./types.js";
import * as util from "util";
export declare class IsaacPlayable extends EventEmitter {
    private isaacConn;
    definition: IsaacPlayableType;
    subsystemExternalId: string;
    externalRef?: string | undefined;
    _id?: string | undefined;
    eventPlayer?: boolean | undefined;
    subsystemId?: number | undefined;
    duration: number;
    group?: string | undefined;
    forceCached?: boolean | undefined;
    isCached?: boolean | undefined;
    templatePath?: object;
    durationType?: string;
    active?: boolean;
    copyToPlayer?: boolean;
    copyToPlayerStatus?: object;
    isUpcomingSchedule?: boolean;
    autoSync?: boolean;
    compositionId?: number;
    constructor(definition: IsaacPlayableType, connection: isaacConnection);
    get(): IsaacPlayableType;
    get command(): string;
    set command(value: string);
    get description(): string;
    set description(value: string);
    get displayName(): string;
    set displayName(value: string);
    get availableInSubsystem(): boolean;
    set availableInSubsystem(value: boolean);
    toggleAvailability(): void;
    get metadata(): Object;
    set metadata(value: Object);
    update(updateParameters: UpdateIsaacPlayableType): void;
    [util.inspect.custom](depth: any, opts: any): string;
}
//# sourceMappingURL=playable.d.ts.map