import { BaseModel } from '@/models/BaseModel'; import { PageRequest, PageField, PageSubscriptionConfig, PageSearchFilters, PageFieldType, PageFieldConfig } from '@/types/page'; import { Currency, FieldType } from '@/types'; export declare class Page extends BaseModel implements PageRequest { title: string; description: string; psp: number[]; name?: string; purpose?: string; amount?: number; currency?: Currency; subscriptionState?: boolean; subscriptionInterval?: string; subscriptionPeriod?: string; subscriptionPeriodMinAmount?: string; subscriptionCancellationInterval?: string; preAuthorization?: boolean; reservation?: boolean; fields?: Record; offset?: number; limit?: number; constructor(data?: Partial); setTitle(title: string): this; getTitle(): string; setDescription(description: string): this; getDescription(): string; setPsp(psp: number | number[]): this; addPsp(pspId: number): this; getPsp(): number[]; setName(name: string): this; getName(): string | undefined; setPurpose(purpose: string): this; getPurpose(): string | undefined; setAmount(amount: number): this; getAmount(): number | undefined; setCurrency(currency: Currency): this; getCurrency(): Currency | undefined; setSubscriptionConfig(config: PageSubscriptionConfig): this; setSubscriptionState(enabled: boolean): this; setSubscriptionInterval(interval: string): this; setSubscriptionPeriod(period: string): this; setSubscriptionCancellationInterval(interval: string): this; setPreAuthorization(enabled: boolean): this; getPreAuthorization(): boolean; setReservation(enabled: boolean): this; getReservation(): boolean; addPageField(type: PageFieldType, mandatory?: boolean, defaultValue?: string, name?: string): this; addCustomField(type: PageFieldType, config: Partial): this; removeField(type: FieldType): this; getFields(): Record; setOffset(offset: number): this; setLimit(limit: number): this; getApiEndpoint(): string; validate(): void; toApiFormat(): PageRequest; private isValidISO8601Duration; static createSimple(title: string, description: string, pspId: number, amount?: number, currency?: Currency): Page; static createSubscription(title: string, description: string, pspId: number, amount: number, currency: Currency, interval: string, period: string): Page; static createDonation(title: string, description: string, pspId: number, currency?: Currency): Page; static forListing(filters?: PageSearchFilters, offset?: number, limit?: number): Page; static createEcommerce(title: string, description: string, pspId: number, currency?: Currency): Page; static createPreAuth(title: string, description: string, pspId: number, amount: number, currency: Currency): Page; static getCommonSubscriptionIntervals(): Record; static getSubscriptionIntervalDescription(interval: string): string; } //# sourceMappingURL=Page.d.ts.map