/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run "yarn generate-schema-types" to regenerate this file.
 */
import { ActionExecutionResult } from "..";
export interface CasparCGOptions {
    /**
     * Host of CasparCG server
     */
    host: string;
    /**
     * Port of CasparCG server
     */
    port?: number;
    launcherHost?: string;
    launcherPort?: number;
    launcherProcess?: string;
    /**
     * fps used for all channels
     */
    fps?: number;
    /**
     * Interval (ms) for retrying to load media that previously failed. (-1 disables, 0 uses the default interval)
     */
    retryInterval?: number;
}
export interface MappingCasparCGLayer {
    channel: number;
    layer: number;
    previewWhenNotOnAir?: boolean;
    mappingType: MappingCasparCGType.Layer;
}
export declare enum MappingCasparCGType {
    Layer = "layer"
}
export type SomeMappingCasparCG = MappingCasparCGLayer;
export interface ListMediaPayload {
    subDirectory?: string;
}
export type ListMediaResult = {
    clip: string;
    type: 'MOVIE' | 'STILL' | 'AUDIO';
    size: number;
    datetime?: number;
    frames: number;
    framerate: number;
}[];
export declare enum CasparCGActions {
    ClearAllChannels = "clearAllChannels",
    RestartServer = "restartServer",
    ListMedia = "listMedia"
}
export interface CasparCGActionExecutionResults {
    clearAllChannels: () => void;
    restartServer: () => void;
    listMedia: (payload: ListMediaPayload) => ListMediaResult;
}
export type CasparCGActionExecutionPayload<A extends keyof CasparCGActionExecutionResults> = Parameters<CasparCGActionExecutionResults[A]>[0];
export type CasparCGActionExecutionResult<A extends keyof CasparCGActionExecutionResults> = ActionExecutionResult<ReturnType<CasparCGActionExecutionResults[A]>>;
//# sourceMappingURL=casparCG.d.ts.map