import type { StorageWorkspaceType, StorageCreateWorkspaceInput, StorageUpdateWorkspaceInput, StorageListWorkspacesInput, StorageListWorkspacesOutput } from '../../types.js';
import type { InMemoryDB } from '../inmemory-db.js';
import type { WorkspaceVersion, CreateWorkspaceVersionInput, ListWorkspaceVersionsInput, ListWorkspaceVersionsOutput } from './base.js';
import { WorkspacesStorage } from './base.js';
export declare class InMemoryWorkspacesStorage extends WorkspacesStorage {
    private db;
    constructor({ db }: {
        db: InMemoryDB;
    });
    dangerouslyClearAll(): Promise<void>;
    getById(id: string): Promise<StorageWorkspaceType | null>;
    create(input: {
        workspace: StorageCreateWorkspaceInput;
    }): Promise<StorageWorkspaceType>;
    update(input: StorageUpdateWorkspaceInput): Promise<StorageWorkspaceType>;
    delete(id: string): Promise<void>;
    list(args?: StorageListWorkspacesInput): Promise<StorageListWorkspacesOutput>;
    createVersion(input: CreateWorkspaceVersionInput): Promise<WorkspaceVersion>;
    getVersion(id: string): Promise<WorkspaceVersion | null>;
    getVersionByNumber(workspaceId: string, versionNumber: number): Promise<WorkspaceVersion | null>;
    getLatestVersion(workspaceId: string): Promise<WorkspaceVersion | null>;
    listVersions(input: ListWorkspaceVersionsInput): Promise<ListWorkspaceVersionsOutput>;
    deleteVersion(id: string): Promise<void>;
    deleteVersionsByParentId(entityId: string): Promise<void>;
    countVersions(workspaceId: string): Promise<number>;
    private deepCopyConfig;
    private deepCopyVersion;
    private sortConfigs;
    private sortVersions;
}
//# sourceMappingURL=inmemory.d.ts.map