import { OrderItem, Sequelize } from 'sequelize';
declare type SortType = {
    sortModel: string;
    sortValue: string;
};
declare function getSort(value: string, lastSort?: OrderItem): OrderItem[];
declare function getPlaylistSort(value: string, lastSort?: OrderItem): OrderItem[];
declare function getCommentSort(value: string, lastSort?: OrderItem): OrderItem[];
declare function getVideoSort(value: string, lastSort?: OrderItem): OrderItem[];
declare function getBlacklistSort(model: any, value: string, lastSort?: OrderItem): OrderItem[];
declare function getFollowsSort(value: string, lastSort?: OrderItem): OrderItem[];
declare function isOutdated(model: {
    createdAt: Date;
    updatedAt: Date;
}, refreshInterval: number): boolean;
declare function throwIfNotValid(value: any, validator: (value: any) => boolean, fieldName?: string, nullable?: boolean): void;
declare function buildTrigramSearchIndex(indexName: string, attribute: string): {
    name: string;
    fields: any[];
    using: string;
    operator: string;
};
declare function createSimilarityAttribute(col: string, value: string): import("sequelize/dist/lib/utils").Fn;
declare function buildBlockedAccountSQL(blockerIds: number[]): string;
declare function buildBlockedAccountSQLOptimized(columnNameJoin: string, blockerIds: number[]): import("sequelize/dist/lib/utils").Literal[];
declare function buildServerIdsFollowedBy(actorId: any): string;
declare function buildWhereIdOrUUID(id: number | string): {
    id: string | number;
    uuid?: undefined;
} | {
    uuid: string | number;
    id?: undefined;
};
declare function parseAggregateResult(result: any): number;
declare function createSafeIn(sequelize: Sequelize, stringArr: (string | number)[]): string;
declare function buildLocalAccountIdsIn(): import("sequelize/dist/lib/utils").Literal;
declare function buildLocalActorIdsIn(): import("sequelize/dist/lib/utils").Literal;
declare function buildDirectionAndField(value: string): {
    direction: "ASC" | "DESC";
    field: string;
};
declare function searchAttribute(sourceField?: string, targetField?: string): {
    [x: string]: {
        [x: number]: string;
    };
};
export { buildBlockedAccountSQL, buildBlockedAccountSQLOptimized, buildLocalActorIdsIn, getPlaylistSort, SortType, buildLocalAccountIdsIn, getSort, getCommentSort, getVideoSort, getBlacklistSort, createSimilarityAttribute, throwIfNotValid, buildServerIdsFollowedBy, buildTrigramSearchIndex, buildWhereIdOrUUID, isOutdated, parseAggregateResult, getFollowsSort, buildDirectionAndField, createSafeIn, searchAttribute };
//# sourceMappingURL=utils.d.ts.map