import type {Gift} from './gift'; export interface RepositoryTransactionOptions { transacting?: unknown; forUpdate?: boolean; } export interface GiftRepository { existsByCheckoutSessionId(checkoutSessionId: string): Promise; create(gift: Gift, options?: RepositoryTransactionOptions): Promise; getByToken(token: string, options?: RepositoryTransactionOptions): Promise; save(gift: Gift, options?: RepositoryTransactionOptions): Promise; transaction(callback: (transacting: unknown) => Promise): Promise; }