import { type AuthOAuthProviderId } from '@ankhorage/contracts'; import { type SecretMetadata, type SecretPayload, type SecretStoreResult } from '@ankhorage/contracts/secrets'; import { type ProjectSecretUsageSummary } from '../../projectSecretUsage'; import type { ProjectManager } from '../orchestrator/projectManager'; import { type BunSupabaseVaultClient } from './bunSupabaseVaultClient'; export interface ProjectSecretServiceOptions { readonly projectManager: ProjectManager; readonly workspaceRoot: string; readonly createClient?: (databaseUrl: string) => BunSupabaseVaultClient; readonly resolveDatabaseUrl?: (projectPath: string, target: string) => Promise; } export interface ConfigureOAuthProviderInput { readonly projectId: string; readonly environment?: string; readonly providerId: AuthOAuthProviderId; readonly payload: SecretPayload; readonly credentialsRef?: string; } export type ConfigureOAuthProviderResult = { readonly ok: true; readonly state: 'saved'; readonly metadata: SecretMetadata; readonly credentialsRef: string; } | { readonly ok: false; readonly state: 'secret_write_failed'; readonly error: { readonly code: string; readonly message: string; }; readonly credentialsRef?: string; }; export type ProjectSecretRemoveResult = { readonly ok: true; readonly data: ProjectSecretUsageSummary; } | { readonly ok: false; readonly error: { readonly code: string; readonly message: string; }; readonly data?: ProjectSecretUsageSummary; }; export declare class ProjectSecretUsageError extends Error { readonly code: string; constructor(args: { readonly code: string; readonly message: string; }); } export declare class ProjectSecretService { private readonly projectManager; private readonly workspaceRoot; private readonly createClient; private readonly resolveDatabaseUrl; constructor(options: ProjectSecretServiceOptions); list(input: { readonly projectId: string; readonly environment?: string; readonly kind?: string; readonly provider?: string; }): Promise>; getMetadata(input: { readonly projectId: string; readonly environment?: string; readonly ref: string; }): Promise>; create(input: { readonly projectId: string; readonly environment?: string; readonly ref: string; readonly kind: string; readonly provider?: string; readonly payload: SecretPayload; }): Promise>; replace(input: { readonly projectId: string; readonly environment?: string; readonly ref: string; readonly payload: SecretPayload; }): Promise>; remove(input: { readonly projectId: string; readonly environment?: string; readonly ref: string; }): Promise; resolve(input: { readonly projectId: string; readonly environment?: string; readonly ref: string; }): Promise>; getUsages(input: { readonly projectId: string; readonly environment?: string; readonly ref: string; }): Promise; removeGuarded(input: { readonly projectId: string; readonly environment?: string; readonly ref: string; readonly confirmBrokenReferences?: boolean; }): Promise; configureOAuthProvider(input: ConfigureOAuthProviderInput): Promise; private readEditableManifest; private withAdapter; } //# sourceMappingURL=projectSecretService.d.ts.map