import { Lookup } from "./Collections";
/** An object used to facilitate activity input validation. */
export declare namespace validation {
    const never: any;
    /** Fails an assertion. */
    function fail(inputName: string, assertion: string): void;
    /** Coerces an array out of a value. */
    function array<T>(inputName: string, value: T[] | T, defaultValue?: T[]): T[];
    /** Checks if the given value is a defined value. */
    function exists<T>(inputName: string, value: T, defaultValue?: T): T;
    function id(inputName: string, value: any, defaultValue?: string | number): string | number;
    /** Checks if the given value is a defined value. */
    function number(inputName: string, value: any, defaultValue?: number): number;
    /** Checks if the given value is a defined within a map. */
    /** This can be useful for coercing enumerations. */
    function choice<T>(inputName: string, map: Lookup<T>, value: T): T;
    /** Checks if the given value is a defined within a map. */
    function boolean(inputName: string, value: any, defaultValue?: boolean): boolean;
    /** Checks if the given value is a defined within a map. */
    function string(inputName: string, value: any, defaultValue?: string): string;
    /** Checks if an input object contains a url or an esri layer with a url. */
    function urlOrLayer(inputs: {
        url?: string;
        layer?: __esri.Layer;
    }, isArcGisApiVersion3x: boolean): string;
}
