export declare type ISortedData = Array<{
    key: string;
    value: any;
}>;
export interface IEntry {
    _id?: string;
    front: string;
    deck: string;
    back?: string;
    mnemonic?: string;
    srsLevel?: number;
    nextReview?: Date | string;
    tag?: string[];
    created?: Date | string;
    modified?: Date | string;
    stat?: {
        streak: {
            right: number;
            wrong: number;
        };
    };
    template?: string;
    tFront?: string;
    tBack?: string;
    css?: string;
    js?: string;
    data?: ISortedData;
    source?: string;
    sH?: string;
    sCreated?: Date | string;
}
export interface IRender {
    front: string;
    back?: string;
    mnemonic?: string;
    tFront?: string;
    tBack?: string;
    data?: ISortedData | Record<string, any>;
    css?: string;
    js?: string;
}
export interface ICondOptions<T extends Record<string, any>> {
    offset?: number;
    limit?: number;
    sortBy?: keyof T | "random";
    desc?: boolean;
    fields?: Array<keyof T> | "*";
}
export interface IPagedOutput<T> {
    data: T[];
    count: number;
}
export interface IProgress {
    text: string;
    current?: number;
    max?: number;
}
export declare function ankiMustache(s: string, d?: Record<string, any> | Array<{
    key: string;
    value: any;
}>, front?: string): string;
export declare function escapeRegExp(s: string): string;
export declare function fromSortedData(sd: ISortedData): {
    data: Record<string, any>;
    order: Record<string, number>;
};
export declare function toSortedData(d: {
    data: Record<string, any>;
    order: Record<string, number>;
}): ISortedData;
//# sourceMappingURL=util.d.ts.map