/**
 * Copyright (c) Microsoft Corporation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
export declare class ValidationError extends Error {
}
export type Validator = (arg: any, path: string, context: ValidatorContext) => any;
export type ValidatorContext = {
    tChannelImpl: (names: '*' | string[], arg: any, path: string, context: ValidatorContext) => any;
    binary: 'toBase64' | 'fromBase64' | 'buffer';
    isUnderTest: () => boolean;
};
export declare const scheme: {
    [key: string]: Validator;
};
export declare function findValidator(type: string, method: string, kind: 'Initializer' | 'Event' | 'Params' | 'Result'): Validator;
export declare function maybeFindValidator(type: string, method: string, kind: 'Initializer' | 'Event' | 'Params' | 'Result'): Validator | undefined;
export declare function createMetadataValidator(): Validator;
export declare const tFloat: Validator;
export declare const tInt: Validator;
export declare const tBoolean: Validator;
export declare const tString: Validator;
export declare const tBinary: Validator;
export declare const tUndefined: Validator;
export declare const tAny: Validator;
export declare const tOptional: (v: Validator) => Validator;
export declare const tArray: (v: Validator) => Validator;
export declare const tObject: (s: {
    [key: string]: Validator;
}) => Validator;
export declare const tEnum: (e: string[]) => Validator;
export declare const tChannel: (names: "*" | string[]) => Validator;
export declare const tType: (name: string) => Validator;
//# sourceMappingURL=validatorPrimitives.d.ts.map