import type { Except } from 'type-fest'; import { type GetEntityCollectionOptions } from '../../entity-client/simple-entity-client/methods/get-entity-collection.js'; import type { ScayleAdminApiFetcher } from '../../http/admin-api-fetcher.js'; import type { Iso31661Alpha3CountryCode } from '../iso/iso31661-alpha3-country-code-schema.js'; import type { Iso31661Alpha2CountryCode } from '../iso/iso31661-alpha2-country-code-schema.js'; import { type VoucherCriteriaEntityClient } from '../voucher-criteria/voucher-criteria-entity-client.js'; import { type Voucher, type VoucherCollection, type VoucherMutationPayload, type VoucherStatus } from './schema/voucher-schema.js'; type GetCollectionOptions = Except & { readonly filters?: { code?: string; status?: VoucherStatus; }; }; export type VoucherEntityClient = { voucherCriteria: VoucherCriteriaEntityClient; create: (shopKey: string, countryCode: Iso31661Alpha2CountryCode | Iso31661Alpha3CountryCode, voucher: VoucherMutationPayload) => Promise; get: (shopKey: string, countryCode: Iso31661Alpha2CountryCode | Iso31661Alpha3CountryCode, id: number) => Promise; update: (shopKey: string, countryCode: Iso31661Alpha2CountryCode | Iso31661Alpha3CountryCode, id: number, updatePayload: VoucherMutationPayload) => Promise; delete: (shopKey: string, countryCode: Iso31661Alpha2CountryCode | Iso31661Alpha3CountryCode, id: number) => Promise; getCollection: (shopKey: string, countryCode: Iso31661Alpha2CountryCode | Iso31661Alpha3CountryCode, requestOptions?: GetCollectionOptions) => Promise; getAll: (shopKey: string, countryCode: Iso31661Alpha2CountryCode | Iso31661Alpha3CountryCode) => Promise; }; export type VoucherEntityClientDependencies = { readonly adminApiFetcher: ScayleAdminApiFetcher; }; export declare function createVoucherEntityClient(dependencies: VoucherEntityClientDependencies): VoucherEntityClient; export {}; //# sourceMappingURL=voucher-entity-client.d.ts.map