import { Repository } from 'typeorm';
import { NestAuthPermission } from '../entities/permission.entity';
export declare class PermissionService {
    private permissionRepository;
    constructor(permissionRepository: Repository<NestAuthPermission>);
    createPermission(data: {
        name: string;
        guard?: string;
        description?: string;
        category?: string;
        metadata?: Record<string, any>;
    }): Promise<NestAuthPermission>;
    getPermissions(options?: {
        search?: string;
        category?: string;
        guard?: string;
        limit?: number;
    }): Promise<NestAuthPermission[]>;
    getPermissionByName(name: string, guard?: string): Promise<NestAuthPermission | null>;
    getPermissionsByGuard(guard: string): Promise<NestAuthPermission[]>;
    getGuards(): Promise<string[]>;
    getPermissionById(id: string): Promise<NestAuthPermission>;
    updatePermission(id: string, data: {
        name?: string;
        guard?: string;
        description?: string;
        category?: string;
        metadata?: Record<string, any>;
    }): Promise<NestAuthPermission>;
    deletePermission(id: string): Promise<void>;
    getPermissionsByNames(names: string[]): Promise<NestAuthPermission[]>;
    searchPermissions(query: string, guard?: string, limit?: number): Promise<NestAuthPermission[]>;
    getCategories(): Promise<string[]>;
    createPermissions(permissions: Array<{
        name: string;
        description?: string;
        category?: string;
        metadata?: Record<string, any>;
    }>): Promise<NestAuthPermission[]>;
}
//# sourceMappingURL=permission.service.d.ts.map