/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and re-run the "tsr-schema-types" tool to regenerate this file.
 */
import type { ActionExecutionResult } from "../actions";
export interface SisyfosOptions {
    host: string;
    port: number;
}
export interface MappingSisyfosChannel {
    channel: number;
    setLabelToLayerName?: boolean;
    disableDefaults?: boolean;
    mappingType: MappingSisyfosType.Channel;
}
export interface MappingSisyfosChannelByLabel {
    label: string;
    disableDefaults?: boolean;
    mappingType: MappingSisyfosType.ChannelByLabel;
}
export interface MappingSisyfosChannels {
    disableDefaults?: boolean;
    mappingType: MappingSisyfosType.Channels;
}
export declare enum MappingSisyfosType {
    Channel = "channel",
    ChannelByLabel = "channel_by_label",
    Channels = "channels"
}
export type SomeMappingSisyfos = MappingSisyfosChannel | MappingSisyfosChannelByLabel | MappingSisyfosChannels;
export interface SetSisyfosChannelStatePayload {
    channel: number;
}
export interface LoadMixerPresetPayload {
    /**
     * The name of the preset to load
     */
    name: string;
}
export declare enum SisyfosActions {
    Reinit = "reinit",
    SetSisyfosChannelState = "setSisyfosChannelState",
    LoadMixerPreset = "loadMixerPreset"
}
export interface SisyfosActionMethods {
    [SisyfosActions.Reinit]: (payload: Record<string, never>) => Promise<ActionExecutionResult<void>>;
    [SisyfosActions.SetSisyfosChannelState]: (payload: SetSisyfosChannelStatePayload) => Promise<ActionExecutionResult<void>>;
    [SisyfosActions.LoadMixerPreset]: (payload: LoadMixerPresetPayload) => Promise<ActionExecutionResult<void>>;
}
export interface SisyfosDeviceTypes {
    Options: SisyfosOptions;
    Mappings: SomeMappingSisyfos;
    Actions: SisyfosActionMethods;
}
//# sourceMappingURL=sisyfos.d.ts.map