import { InfrastructureOperationEntity } from '../../../../src/modules/infrastructure/servers/entities/infrastructure-operations.entity';
/**
 * File-based Operation Repository for CLI
 *
 * Persists infrastructure operation data in ~/.flui/operations.json
 * Provides TypeORM-like interface without requiring database
 */
export declare class CliOperationRepository {
    private readonly logger;
    private readonly dataDir;
    private readonly dataFile;
    constructor();
    private ensureDataDir;
    /**
     * Load all operations from file
     */
    private loadOperations;
    /**
     * Save all operations to file
     */
    private saveOperations;
    /**
     * Create a new operation entity (doesn't save to file yet)
     * This mimics TypeORM's Repository.create() method
     */
    create(data: Partial<InfrastructureOperationEntity>): InfrastructureOperationEntity;
    /**
     * Find one operation by criteria
     */
    findOne(options: {
        where?: Partial<InfrastructureOperationEntity>;
        order?: {
            [key: string]: 'ASC' | 'DESC';
        };
    }): Promise<InfrastructureOperationEntity | null>;
    /**
     * Find all operations matching criteria
     */
    find(options?: {
        where?: Partial<InfrastructureOperationEntity>;
        order?: {
            [key: string]: 'ASC' | 'DESC';
        };
    }): Promise<InfrastructureOperationEntity[]>;
    /**
     * Save operation (create or update)
     */
    save(operation: InfrastructureOperationEntity): Promise<InfrastructureOperationEntity>;
    /**
     * Delete operation
     */
    remove(operation: InfrastructureOperationEntity): Promise<InfrastructureOperationEntity>;
    /**
     * Generate unique ID (UUID v4, compatible with PostgreSQL)
     */
    private generateId;
}
