/**
 * 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 QuantelOptions {
    /**
     * Url to the quantel gateway
     */
    gatewayUrl: string;
    /**
     * Location of the ISA manager to be connected to first of all
     */
    ISAUrlMaster: string;
    /**
     * Optional backup ISA manager for the gateway to switch to in the event of failure of the master
     */
    ISAUrlBackup?: string;
    /**
     * The ID of the zone to use. If omitted, will be using 'default'
     */
    zoneId?: string;
    /**
     * The id of the server to control. An integer
     */
    serverId: number;
    /**
     * If set: If a clip turns out to be on the wrong server, an attempt to copy the clip will be done
     */
    allowCloneClips?: boolean;
    /**
     * If the ISA goes down the gateway will temporarily emit a disconnection warning, this is a false flag when a backup ISA is available. This option will suppress the disconnection warning for a number of ms to give the system time to switch without warnings.
     */
    suppressDisconnectTime?: number;
}
export interface MappingQuantelPort {
    /**
     * The port to use
     */
    portId: string;
    /**
     * The channel to connect the port to
     */
    channelId: number;
    mode?: QuantelControlMode;
    mappingType: MappingQuantelType.Port;
}
/**
 * Which strategy to use during "busy times" (defaults to QUALITY)
 */
export declare enum QuantelControlMode {
    QUALITY = "quality",
    SPEED = "speed"
}
export declare enum MappingQuantelType {
    Port = "port"
}
export type SomeMappingQuantel = MappingQuantelPort;
export declare enum QuantelActions {
    RestartGateway = "restartGateway",
    ClearStates = "clearStates"
}
export interface QuantelActionMethods {
    [QuantelActions.RestartGateway]: (payload: Record<string, never>) => Promise<ActionExecutionResult<void>>;
    [QuantelActions.ClearStates]: (payload: Record<string, never>) => Promise<ActionExecutionResult<void>>;
}
export interface QuantelDeviceTypes {
    Options: QuantelOptions;
    Mappings: SomeMappingQuantel;
    Actions: QuantelActionMethods;
}
//# sourceMappingURL=quantel.d.ts.map