//#region src/vitest/mocks/secretmanager.d.ts interface SecretCall { method: "getSecret" | "getSecrets"; vault: string; name?: string; names?: readonly string[]; } /** Initial fixtures for a Secret Manager mock. */ export interface MockSecretmanagerOptions { /** Secrets to merge over fixtures inherited from the currently installed mock. */ secrets?: Record>; } /** * Acquire a disposable mock for `tailor.secretmanager`. The secret store is * inherited (cloned) from the currently-installed mock on acquisition and * restored on dispose, so secrets seeded outside the test survive across * `using` scopes while per-test `setSecrets()` overrides stay isolated. * @param options - Initial Secret Manager fixtures * @returns Disposable SecretManager mock control object * @example * ```typescript * import { mockSecretmanager } from "@tailor-platform/sdk/vitest"; * * test("reads secrets from vault", async () => { * using sm = mockSecretmanager({ secrets: { "my-vault": { API_KEY: "sk-123" } } }); * sm.setSecret("my-vault", "API_KEY", "replacement"); * // … * }); * ``` */ export declare function mockSecretmanager(options?: MockSecretmanagerOptions): { /** The `getSecret` `vi.fn`. */ getSecret: import("vitest").Mock<(vault: string, name: string) => Promise>; /** The `getSecrets` `vi.fn`. */ getSecrets: import("vitest").Mock<((vault: string, names: T) => Promise>>)>; setSecrets(secrets: Record>): void; setSecret(vault: string, name: string, value: string): void; mergeSecrets(vault: string, secrets: Record): void; readonly calls: SecretCall[]; clear(): void; reset(): void; } & Disposable; //#endregion