export type PaymentStatus = "requires_action" | "processing" | "succeeded" | "failed" | "expired";
export type CollectDataFieldType = "text" | "date" | "checkbox";
export interface AmountDisplay {
    assetSymbol: string;
    assetName: string;
    decimals: number;
    iconUrl?: string;
    networkIconUrl?: string;
    networkName?: string;
}
export interface PayAmount {
    unit: string;
    value: string;
    display: AmountDisplay;
}
export interface MerchantInfo {
    name: string;
    iconUrl?: string;
}
export interface BuyerInfo {
    accountCaip10: string;
    accountProviderName: string;
    accountProviderIcon?: string;
}
export interface WalletRpcAction {
    chainId: string;
    method: string;
    params: string;
}
export interface Action {
    walletRpc: WalletRpcAction;
}
export interface CollectDataField {
    id: string;
    name: string;
    required: boolean;
    fieldType: CollectDataFieldType;
}
export interface CollectDataAction {
    fields: CollectDataField[];
    url?: string;
    schema?: string;
}
export interface CollectDataFieldResult {
    id: string;
    value: string;
}
export interface PaymentInfo {
    status: PaymentStatus;
    amount: PayAmount;
    expiresAt: number;
    merchant: MerchantInfo;
    buyer?: BuyerInfo;
}
export interface PaymentOption {
    id: string;
    account: string;
    amount: PayAmount;
    etaS: number;
    actions: Action[];
    collectData?: CollectDataAction;
}
export interface GetPaymentOptionsParams {
    paymentLink: string;
    accounts: string[];
    includePaymentInfo?: boolean;
}
export interface GetRequiredPaymentActionsParams {
    paymentId: string;
    optionId: string;
}
export interface ConfirmPaymentParams {
    paymentId: string;
    optionId: string;
    signatures: string[];
    collectedData?: CollectDataFieldResult[];
}
export interface PaymentOptionsResponse {
    paymentId: string;
    info?: PaymentInfo;
    options: PaymentOption[];
    collectData?: CollectDataAction;
}
export interface PaymentResultInfo {
    txId: string;
    optionAmount: PayAmount;
}
export interface ConfirmPaymentResponse {
    status: PaymentStatus;
    isFinal: boolean;
    pollInMs?: number;
    info?: PaymentResultInfo;
}
//# sourceMappingURL=api.d.ts.map