import { SelectQueryBuilder, ObjectLiteral } from 'typeorm';
import { PermissionFieldConfig } from '../interfaces/permission.interface';
import { UserPermissionFieldConfig } from '../interfaces/user.interface';
import { RouterPermissionFieldConfig } from '../interfaces/router.interface';
export declare class DynamicQueryBuilder {
    static buildPermissionQuery<T extends ObjectLiteral>(queryBuilder: SelectQueryBuilder<T>, config: PermissionFieldConfig, alias?: string): SelectQueryBuilder<T>;
    static buildUserPermissionQuery<T extends ObjectLiteral>(queryBuilder: SelectQueryBuilder<T>, config: UserPermissionFieldConfig, alias?: string): SelectQueryBuilder<T>;
    static buildRouterPermissionQuery<T extends ObjectLiteral>(queryBuilder: SelectQueryBuilder<T>, config: RouterPermissionFieldConfig, alias?: string): SelectQueryBuilder<T>;
}
