import { AnyCurrency } from "./common";
export type ReceiveRequest = {
    receiveRequestId: string;
    created: Date;
    targetCurrency?: AnyCurrency;
    bolt11?: {
        invoice: string;
        requestedAmount?: {
            amount: string;
            currency: AnyCurrency;
        };
        btcAmount?: string;
        description?: string;
        descriptionHash?: string;
        paymentHash: string;
        expires: Date;
    };
    onchain?: {
        address: string;
        addressUri: string;
        requestedAmount?: {
            amount: string;
            currency: AnyCurrency;
        };
        btcAmount?: string;
    };
};
export type Receive = {
    receiveId: string;
    receiveRequestId: string;
    type: "LIGHTNING" | "ONCHAIN" | "P2P";
    state: "PENDING" | "COMPLETED";
    amountReceived: {
        amount: string;
        currency: AnyCurrency;
    };
    amountCredited?: {
        amount: string;
        currency: AnyCurrency;
    };
    conversionRate?: {
        amount: string;
        sourceCurrency: AnyCurrency;
        targetCurrency: AnyCurrency;
    };
    created: Date;
    completed?: Date;
    onchain?: {
        address: string;
        transactionId: string;
        blockHeight?: number;
        numberOfConfirmations?: number;
    };
    lightning?: {
        invoice: string;
        preimage: string;
        description?: string;
        descriptionHash?: string;
        paymentHash: string;
    };
    p2p?: {
        payerAccountId: string;
    };
};
export type CreateReceiveRequestRequest = {
    bolt11?: {
        amount?: {
            amount: string;
            currency: AnyCurrency;
        };
        description?: string;
        descriptionHash?: string;
        expiryInSeconds?: number;
    };
    onchain?: {
        amount?: {
            amount: string;
            currency: AnyCurrency;
        };
    };
    targetCurrency?: AnyCurrency;
};
