import type { ConfiguredExternalRepositoryKey, CreateProjectSourceControlConnectionInput, CreateSourceControlSessionInput, ExternalRepositoryProjectTarget, LinkProjectRepositoryInput, ProjectRepository, ProjectSourceControlConnection, SourceControlInstallation, SourceControlRepository, SourceControlSession, SourceControlStorageHandle, UpdateProjectRepositoryInput, UpsertSourceControlInstallationInput, UpsertSourceControlRepositoryInput } from './base.js'; /** In-memory provider-scoped source-control handle for route tests. */ export declare class SourceControlStorageInMemory implements SourceControlStorageHandle { readonly integrationId: string; installationsRows: SourceControlInstallation[]; repositoriesRows: SourceControlRepository[]; connectionsRows: ProjectSourceControlConnection[]; projectRepositoriesRows: ProjectRepository[]; sessionsRows: SourceControlSession[]; constructor(integrationId?: string); readonly installations: { list: ({ orgId }: { orgId: string; }) => Promise; get: ({ orgId, id }: { orgId: string; id: string; }) => Promise; findByExternalId: ({ orgId, externalId, }: { orgId: string; externalId: string; }) => Promise; upsert: (input: UpsertSourceControlInstallationInput) => Promise; delete: ({ orgId, id }: { orgId: string; id: string; }) => Promise; }; readonly repositories: { list: ({ orgId, installationId }: { orgId: string; installationId: string; }) => Promise; get: ({ orgId, id }: { orgId: string; id: string; }) => Promise; findByExternalId: ({ orgId, installationId, externalId, }: { orgId: string; installationId: string; externalId: string; }) => Promise; findBySlug: ({ orgId, installationId, slug }: { orgId: string; installationId: string; slug: string; }) => Promise; upsert: ({ orgId, input, }: { orgId: string; input: UpsertSourceControlRepositoryInput; }) => Promise; migrateInstallation: ({ orgId, id, newInstallationId, }: { orgId: string; id: string; newInstallationId: string; }) => Promise; }; readonly connections: { list: ({ factoryProjectId }: { orgId: string; factoryProjectId: string; }) => Promise; get: ({ orgId, id }: { orgId: string; id: string; }) => Promise; create: (input: CreateProjectSourceControlConnectionInput) => Promise; delete: ({ orgId, id }: { orgId: string; id: string; }) => Promise; }; readonly projectRepositories: { list: ({ orgId, connectionId }: { orgId: string; connectionId: string; }) => Promise; listConfiguredExternalKeys: () => Promise; listByExternalRepository: ({ installationExternalId, repositoryExternalId, }: { installationExternalId: string; repositoryExternalId: string; }) => Promise; get: ({ orgId, id }: { orgId: string; id: string; }) => Promise; link: (input: LinkProjectRepositoryInput) => Promise; update: ({ orgId, id, input, }: { orgId: string; id: string; input: UpdateProjectRepositoryInput; }) => Promise; unlink: ({ orgId, id }: { orgId: string; id: string; }) => Promise; }; readonly sessions: { list: ({ projectRepositoryId, viewerUserId }: { projectRepositoryId: string; viewerUserId: string; }) => Promise; listByProjectRepository: ({ projectRepositoryId }: { projectRepositoryId: string; }) => Promise; getBySessionId: (sessionId: string) => Promise; rename: ({ sessionId, title }: { sessionId: string; title: string; }) => Promise; getForBranch: ({ projectRepositoryId, userId, branch, }: { projectRepositoryId: string; userId: string; branch: string; }) => Promise; create: (input: CreateSourceControlSessionInput) => Promise; setSandbox: ({ id, sandboxId, sandboxWorkdir, }: { id: string; sandboxId: string | null; sandboxWorkdir: string; }) => Promise; markMaterialized: ({ id }: { id: string; }) => Promise; markFirstMessage: ({ sessionId }: { sessionId: string; }) => Promise; markFirstMeaningfulExec: ({ sessionId }: { sessionId: string; }) => Promise; delete: (id: string) => Promise; }; } //# sourceMappingURL=inmemory.d.ts.map