import { FieldProcedure } from "../../models/interfaces/field-procedure";
import { CastResult } from "../../models/interfaces/cast-result";
import { CastOptions } from "../../models/interfaces/cast-options";
export declare function cast<T>(model: new (...args: any[]) => T, target: any, options?: CastOptions): CastResult<T>;
export declare function castEngine(castProceduresListEntries: Array<[string, FieldProcedure[]]>, target: any, projectedContext: any, options: CastOptions): ({
    message: string;
    constraintPass: boolean;
} & {
    info: any;
})[][];
