import type { ControlPlaneStore } from '../control-plane';
import type { DataCredential, DataDependency, DataService } from './model';
export declare class DataServiceStore {
    readonly controlPlane: ControlPlaneStore;
    private readonly now;
    constructor(controlPlane: ControlPlaneStore, now?: () => Date);
    create(input: Omit<DataService, 'id' | 'capabilities' | 'version' | 'createdAt' | 'updatedAt'>): DataService;
    get(id: string): DataService | undefined;
    list(projectId: string, environmentId?: string): DataService[];
    update(id: string, expectedVersion: number, patch: Partial<Pick<DataService, 'plan' | 'storageGb' | 'engineVersion' | 'highAvailability' | 'publicExposure' | 'allowedCidrs' | 'desiredState' | 'observedState' | 'status' | 'managementEnabled' | 'credentialRef'>>): DataService;
    credential(serviceId: string): DataCredential | undefined;
    saveCredential(serviceId: string, username: string, secretRef: string): DataCredential;
    addDependency(input: Omit<DataDependency, 'createdAt'>): DataDependency;
    dependencies(serviceId: string): DataDependency[];
    removeDependency(serviceId: string, resourceId: string): boolean;
    remove(id: string): void;
}
