export { shield };
export { shieldIsMissing };
export { shieldApply };
export { shieldToHumandReadable };
declare const isVerifierKey = "__telefunc_isVerifier";
declare const isVerifierTupleKey = "__telefunc_isVerifierTuple";
type ShieldOptions = {
__autoGenerated?: boolean;
};
declare const shield: {
unknown>(telefunction: Telefunction, telefunctionShield: TelefunctionArguments, options?: ShieldOptions): Telefunction;
unknown>(telefunctionShield: TelefunctionArguments, telefunction: Telefunction, options?: ShieldOptions): Telefunction;
type: typeof type;
};
type Telefunction = Function;
declare function shieldIsMissing(telefunction: Telefunction): boolean;
declare function shieldApply(telefunction: Telefunction, args: unknown[]): true | string;
type TelefunctionShield = unknown[] | Verifier;
declare function shieldToHumandReadable(telefunctionShield: TelefunctionShield): string;
declare const type: {
string: string;
number: number;
boolean: boolean;
date: Date;
file: File;
blob: Blob;
array: (arrayType: T) => T[];
object: (objectType: T) => Record;
or: (...elements: T) => T[number];
tuple: (...elements: T) => T;
const: | Readonly | Readonly | undefined | null>(val: T) => T;
optional: (param: T) => T | undefined;
nullable: (param: T) => T | null;
any: any;
};
type Verifier = ((input: unknown, breadcrumbs: string) => true | string) & {
[isVerifierKey]?: true;
[isVerifierTupleKey]?: true;
};