import { Param as ParamNS } from './ParamSignature'; import ParamData = ParamNS.ParamData; import { Enum } from './ServerStateEnum'; import AbstractEnum = Enum.AbstractEnum; import { Command as CommandNS } from './AbstractCommand'; export declare namespace Validation { /** * */ interface IValidator { resolved: boolean; resolve(data: Object | CommandNS.IAMCPCommand, key?: string): ParamData; } /** * */ abstract class AbstractValidator implements IValidator { resolved: boolean; abstract resolve(value: number, key?: string): ParamData; } /** * */ class StringValidator extends AbstractValidator { private lazy; /** * */ constructor(lazy?: Boolean); /** * */ resolve(data: Object | string | undefined): ParamData; } /***/ class FilterValidator extends StringValidator { /** * */ resolve(data: any): ParamData; } /***/ class URLValidator extends StringValidator { resolve(data: Object): ParamData; } /***/ class ChannelLayoutValidator extends StringValidator { } /** * */ class ClipNameValidator extends AbstractValidator { /** * */ resolve(data: any): ParamData; checkClipNameString(rawClipNameString: string | null): string; } /** * */ class ClipNameEmptyStringValidator extends ClipNameValidator { resolve(data: any): ParamData; } /** * */ class TemplateNameValidator extends ClipNameValidator { } /** * */ class DataNameValidator extends ClipNameValidator { } /** * */ class EnumValidator extends AbstractValidator { private _enumClass; /** * */ constructor(_enumClass: typeof AbstractEnum); /** * */ resolve(data: any): ParamData; } /** * */ class ChannelFormatValidator extends AbstractValidator { /** * */ constructor(); /** * */ resolve(data: any): ParamData; } /** * */ class KeywordValidator extends AbstractValidator { private _keyword; private _caseSensitive; /** * */ constructor(keyword: string, caseSensitive?: boolean); /** * */ resolve(data: Array | Object | string | null): ParamData; } /** * */ class FrameValidator extends AbstractValidator { private _keyword; /** * */ constructor(keyword: string); /** * */ resolve(data: any): ParamData; } /** * */ class PositiveNumberValidatorBetween extends AbstractValidator { private _min; private _max; /** * */ constructor(_min?: number, _max?: number); /** * */ resolve(data: number | null): ParamData; } /** * */ class PositiveNumberValidator extends PositiveNumberValidatorBetween { /** * */ constructor(); } /** * */ class PositiveNumberRoundValidatorBetween extends PositiveNumberValidatorBetween { /** * */ resolve(data: number): ParamData; } /** * */ class NumberValidatorBetween extends AbstractValidator { private _min; private _max; /** * */ constructor(_min?: number, _max?: number); /** * */ resolve(data: number | null): ParamData; } /** * */ class NumberValidator extends NumberValidatorBetween { /** * */ constructor(); } /***/ class DecklinkDeviceValidator extends PositiveNumberValidator { } /** * */ class BooleanValidatorWithDefaults extends AbstractValidator { private _valueOnSuccess?; private _valueOnFail?; /** * */ constructor(_valueOnSuccess?: string | number | boolean | undefined, _valueOnFail?: string | number | boolean | undefined); /** * */ resolve(data: any, key: string): ParamData; } /** * */ class BooleanValidator extends BooleanValidatorWithDefaults { /** * */ constructor(); } /** * */ class TemplateDataValidator extends AbstractValidator { /** * */ resolve(data: Object | string): ParamData; } class TimecodeValidator extends StringValidator { } class RouteValidator extends AbstractValidator { regex: RegExp; regex2: RegExp; resolve(data: any): ParamData; } class RouteFramesDelayValidator extends PositiveNumberValidator { } class RouteModeValidator extends StringValidator { } class CommandValidator extends AbstractValidator { resolve(command: any): ParamData; } class StingTransitionPropertiesValidator extends AbstractValidator { regex: RegExp; props: { maskFile?: string; delay?: number; overlayFile?: string; audioFadeStart?: number; audioFadeDuration?: number; }; resolve(data: any): false | { raw: string; payload: string; }; } }