import { IDeviceUtil, IGeoUtil, IIdUtil, ISafeSani, MArray, NumeralUtil, PhoneUtil, IDash, IAdx, IMSearch } from "./types";
export {};
type MER<T, K extends string | number | symbol> = Omit<T, K>;
type MESearchBuilderFunctionType<T, K extends string | number | symbol> = {
    asStr: () => MESearchBuilderFunctions<MER<T, K>>;
    asNum: () => MESearchBuilderFunctions<MER<T, K>>;
    asBool: () => MESearchBuilderFunctions<MER<T, K>>;
    asDate: () => MESearchBuilderFunctions<MER<T, K>>;
    asArr: () => MESearchBuilderFunctions<MER<T, K>>;
};
type MESearchBuilderFunctions<T> = {
    [K in keyof T as K]: () => MESearchBuilderFunctionType<T, K>;
} & {
    go: (query: any) => T[];
};
type MESearchBuilderLike<T> = MESearchBuilderFunctions<T>;
export type MESearchBuilder<T> = MESearchBuilderLike<T>;
export interface ISaniSafer {
    path: (url: string) => string;
    input: (value: string) => string;
    dtPath: (url: string) => boolean;
    dtInput: (value: string) => boolean;
}
export declare enum SfSortCompareTypeMap {
    "String" = "String",
    "Number" = "Number",
    "Date" = "Date",
    "Boolean" = "Boolean"
}
declare global {
    interface Array<T> extends MArray<T> {
    }
}
export declare const mtl: {
    Numeral: NumeralUtil;
    Phone: PhoneUtil;
    Geo: IGeoUtil;
    Id: IIdUtil;
    Device: IDeviceUtil;
    SafeSani: ISafeSani;
    Config: {
        setLocale: (value: string) => void;
        setCountryCode: (value: string) => void;
    };
    Crypt: {
        encrypt: (screetKey: string, data: string) => string;
        decrypt: (screetKey: string, data: string) => string;
    };
    Dash: IDash;
    Xad: IAdx;
    Search: IMSearch;
};
