/**
 * File-based implementation of ServerConfigGroup repository
 * Stores groups in a simple JSON file
 */
import { ServerConfigGroup, IServerConfigGroupRepository, ServerConfigRecord, IServerConfigRecordRepository } from "../interfaces.js";
/**
 * File-based server configuration group repository
 */
export declare class FileServerConfigGroupRepository implements IServerConfigGroupRepository {
    private groupsFilePath;
    private serverRepository;
    constructor(serverRepository: IServerConfigRecordRepository, basePath?: string);
    /**
     * Initialize the repository (ensure file exists)
     */
    init(): Promise<void>;
    /**
     * Load groups from file
     */
    private loadGroups;
    /**
     * Save groups to file
     */
    private saveGroups;
    /**
     * Add a new group
     */
    add(group: Omit<ServerConfigGroup, "id">): Promise<ServerConfigGroup>;
    /**
     * Update an existing group
     */
    update(group: ServerConfigGroup): Promise<ServerConfigGroup | null>;
    /**
     * Delete a group
     */
    delete(id: string): Promise<boolean>;
    /**
     * Find a group by ID
     */
    findById(id: string): Promise<ServerConfigGroup | null>;
    /**
     * Find a group by name
     */
    findByName(name: string): Promise<ServerConfigGroup | null>;
    /**
     * Find all groups
     */
    findAll(): Promise<ServerConfigGroup[]>;
    /**
     * Find all servers in a group
     */
    findServersInGroup(groupId: string): Promise<ServerConfigRecord[]>;
}
//# sourceMappingURL=FileServerConfigGroupRepository.d.ts.map