import { AuthSession, CoreProof, Keyset, Logger, MeltOperation, Mint, Repositories } from "coco-cashu-core"; import { OutputData } from "@cashu/cashu-ts"; import { FakeInvoiceOptions, createFakeInvoice } from "fake-bolt11"; //#region src/integration.d.ts type IntegrationTestRunner = { describe(name: string, fn: () => void): void; it(name: string, fn: () => Promise | void, timeout?: number): void; beforeEach(fn: () => Promise | void): void; afterEach(fn: () => Promise | void): void; expect: Expectation$1; }; type Expectation$1 = { (value: unknown): ExpectApi$1; }; type ExpectApi$1 = { toBe(value: unknown): void; toBeDefined(): void; toBeGreaterThan(value: number): void; toBeGreaterThanOrEqual(value: number): void; toBeLessThan(value: number): void; toBeLessThanOrEqual(value: number): void; toHaveLength(len: number): void; toContain(value: unknown): void; rejects: { toThrow(): Promise; }; }; type IntegrationTestOptions = { createRepositories: () => Promise<{ repositories: TRepositories; dispose(): Promise; }>; mintUrl: string; logger?: Logger; suiteName?: string; }; declare function runIntegrationTests(options: IntegrationTestOptions, runner: IntegrationTestRunner): Promise; //#endregion //#region src/index.d.ts type TransactionFactory = () => Promise<{ repositories: TRepositories; dispose(): Promise; }>; type ContractOptions = { createRepositories: TransactionFactory; }; declare function runRepositoryTransactionContract(options: ContractOptions, runner: ContractRunner): Promise; type ContractRunner = { describe(name: string, fn: () => void): void; it(name: string, fn: () => Promise | void): void; expect: Expectation; }; type Expectation = { (value: unknown): ExpectApi; }; type ExpectApi = { toBe(value: unknown): void; toHaveLength(len: number): void; toBeGreaterThan(value: number): void; toBeDefined(): void; }; declare function createDummyMint(): Mint; declare function createDummyKeyset(): Keyset; declare function createDummyProof(overrides?: Partial): CoreProof; declare function createDummyMeltOperation(): MeltOperation; declare function createDummyAuthSession(overrides?: Partial): AuthSession; declare function runAuthSessionRepositoryContract(options: ContractOptions, runner: ContractRunner): Promise; declare function runProofRepositoryContract(options: ContractOptions, runner: ContractRunner): Promise; //#endregion export { ContractRunner, type FakeInvoiceOptions, type IntegrationTestOptions, type IntegrationTestRunner, createDummyAuthSession, createDummyKeyset, createDummyMeltOperation, createDummyMint, createDummyProof, createFakeInvoice, runAuthSessionRepositoryContract, runIntegrationTests, runProofRepositoryContract, runRepositoryTransactionContract };