import { MixerConnection } from '../mixer-connection';
import { ObjectStore } from './object-store';
export declare class MixerStore {
    private conn;
    /** Stream of raw SETD and SETS messages */
    readonly messages$: import('rxjs').Observable<string>;
    /** The full mixer state as a flat mutable object. Updates whenever the state changes. */
    readonly state$: import('rxjs').Connectable<Record<string, string | number>>;
    /**
     * Stream of channel sync states.
     * Each value is an object with syncId keys and index values.
     */
    readonly syncState$: import('rxjs').Connectable<Record<string, number>>;
    /**
     * Stream of per-client resource listings (playlists, and later shows/snapshots/cues).
     * These are not part of the global SETD/SETS state; they are sent only on request.
     * Each message is stored under its "address" (everything before the entries), see
     * {@link RESOURCE_LIST_CONFIG}. Scans `inbound$` only, so our own outbound requests
     * (whose command can equal the reply command, e.g. `SHOWLIST`) do not pollute the state.
     */
    readonly resourceListState$: import('rxjs').Connectable<Record<string, string[]>>;
    readonly objectStore: ObjectStore;
    constructor(conn: MixerConnection);
}
