import { FException } from "./exception/index.js";
export declare class FEnsureException extends FException {
    readonly data: any;
    constructor(message: string, data: any);
}
export interface FEnsure {
    array<T = any>(data: Array<T>, errorMessage?: string): Array<T>;
    arrayBuffer(data: ArrayBuffer, errorMessage?: string): ArrayBuffer;
    boolean(data: boolean, errorMessage?: string): boolean;
    date(data: Date, errorMessage?: string): Date;
    defined<T = any>(data: T | null | undefined, errorMessage?: string): T;
    integer(data: number, errorMessage?: string): number;
    number(data: number, errorMessage?: string): number;
    string(data: string, errorMessage?: string): string;
    undefined(data: any, errorMessage?: string): undefined;
    arrayNullable<T>(data: Array<T> | null, errorMessage?: string): Array<T> | null;
    arrayBufferNullable(data: ArrayBuffer | null, errorMessage?: string): ArrayBuffer | null;
    booleanNullable(data: boolean | null, errorMessage?: string): boolean | null;
    dateNullable(data: Date | null, errorMessage?: string): Date | null;
    definedNullable<T>(data: T | null | undefined, errorMessage?: string): T | null;
    integerNullable(data: number | null, errorMessage?: string): number | null;
    numberNullable(data: number | null, errorMessage?: string): number | null;
    stringNullable(data: string | null, errorMessage?: string): string | null;
}
export declare namespace FEnsure {
    function create(errorFactory?: (message: string, data: any) => never): FEnsure;
}
