import { IValidatable, INestedValidatable } from './validation';
import { BillingPeriodInterval, PaymentStatus } from './payments';
export declare class BillingPeriod implements INestedValidatable {
    interval: BillingPeriodInterval;
    intervalsCount: number;
    constructor(intervalsCount: number, interval: BillingPeriodInterval);
    validate(prefix: string): void;
}
export declare class CustomerPrepaidOrderApiPayload implements IValidatable {
    id: string;
    customerId: string;
    startTimeInSeconds: number;
    prepaidPrice: number;
    prepaidOfferVersion?: number;
    originalWorth?: number;
    recurrenceFrequency?: BillingPeriod;
    externalPayment?: boolean;
    productId?: string;
    constructor(id: string, customerId: string, startTimeInSeconds: number, prepaidPrice: number);
    validate(): void;
}
export declare class CustomerPrepaidOrder {
    internalStatus: string;
    prepaidPaymentTimeInSeconds?: number;
    paymentId?: string;
    paymentStatus: PaymentStatus;
    firstInvoiceUri?: string;
    id: string;
    customerId: string;
    startTimeInSeconds: number;
    endTimeInSeconds: number;
    firstCardEndTimeSeconds: number;
    productId: string;
    prepaidOfferVersion: number;
    prepaidPrice: number;
    originalWorth: number;
    originalCurrency: string;
    recurrenceFrequency?: BillingPeriod;
    externalPayment: boolean;
}
