import { P as PaginationParams, B as BlindpayApiResponse, T as TransactionStatus, n as PayoutTrackingTransaction, o as PayoutTrackingPayment, p as PayoutTrackingLiquidity, q as PayoutTrackingComplete, r as PayoutTrackingPartnerFee, N as Network, S as StablecoinToken, j as Currency, s as TransactionDocumentType, R as Rail, C as Country, A as AccountClass, a as BankAccountType, l as PaginationMetadata } from '../../index.d-Gvol1faW.js';
import { I as InternalApiClient } from '../../api-client-Bklw4zQi.js';

type SpeiProtocol = "clabe" | "debitcard" | "phonenum";
type Payout = {
    receiver_id: string;
    id: string;
    status: TransactionStatus;
    sender_wallet_address: string;
    signed_transaction: string;
    quote_id: string;
    instance_id: string;
    tracking_transaction: PayoutTrackingTransaction;
    tracking_payment: PayoutTrackingPayment;
    tracking_liquidity: PayoutTrackingLiquidity;
    tracking_complete: PayoutTrackingComplete;
    tracking_partner_fee: PayoutTrackingPartnerFee;
    created_at: string;
    updated_at: string;
    image_url: string;
    first_name: string;
    last_name: string;
    legal_name: string;
    network: Network;
    token: StablecoinToken;
    description: string;
    sender_amount: number;
    receiver_amount: number;
    partner_fee_amount: number;
    commercial_quotation: number;
    blindpay_quotation: number;
    total_fee_amount: number;
    receiver_local_amount: number;
    currency: Exclude<Currency, "USDT" | "USDB">;
    transaction_document_file: string;
    transaction_document_type: TransactionDocumentType;
    transaction_document_id: string;
    name: string;
    type: Rail;
    pix_key?: string;
    account_number?: string;
    routing_number?: string;
    country?: Country;
    account_class?: AccountClass;
    address_line_1?: string;
    address_line_2?: string;
    city?: string;
    state_province_region?: string;
    postal_code?: string;
    account_type?: BankAccountType;
    ach_cop_beneficiary_first_name?: string;
    ach_cop_bank_account?: string;
    ach_cop_bank_code?: string;
    ach_cop_beneficiary_last_name?: string;
    ach_cop_document_id?: string;
    ach_cop_document_type?: string;
    ach_cop_email?: string;
    beneficiary_name?: string;
    spei_clabe?: string;
    spei_protocol?: SpeiProtocol;
    spei_institution_code?: string;
    swift_beneficiary_country?: Country;
    swift_code_bic?: string;
    swift_account_holder_name?: string;
    swift_account_number_iban?: string;
    transfers_account?: string;
    transfers_type: "CVU" | "CBU" | "ALIAS";
    has_virtual_account: boolean;
};
type ListPayoutsInput = PaginationParams & {
    receiver_id?: string;
};
type ListPayoutsResponse = {
    data: Payout[];
    pagination: PaginationMetadata;
};
type CreatePayoutInput = {
    receiver_id: string;
    bank_account_id: string;
    amount: number;
    currency: Currency;
    description?: string | null;
    reference?: string | null;
    network?: Network | null;
    token?: StablecoinToken | null;
};
type SubmitPayoutDocumentsInput = {
    payout_id: string;
    transaction_document_type: TransactionDocumentType;
    transaction_document_id: string;
    transaction_document_file: string;
    description?: string;
};
type SubmitPayoutDocumentsResponse = {
    id: string;
};
type GetPayoutInput = string;
type GetPayoutResponse = Payout;
type GetPayoutTrackInput = string;
type GetPayoutTrackResponse = Payout;
type AuthorizeStellarTokenInput = {
    quote_id: string;
    sender_wallet_address: string;
};
type AuthorizeStellarTokenResponse = {
    transaction_hash: string;
};
type CreateStellarPayoutInput = {
    quote_id: string;
    sender_wallet_address: string;
    signed_transaction?: string;
};
type CreateStellarPayoutResponse = {
    id: string;
    status: TransactionStatus;
    sender_wallet_address: string;
    tracking_complete?: PayoutTrackingComplete;
    tracking_payment?: PayoutTrackingPayment;
    tracking_transaction?: PayoutTrackingTransaction;
    tracking_partner_fee?: PayoutTrackingPartnerFee;
    tracking_liquidity?: PayoutTrackingLiquidity;
    receiver_id: string;
};
type CreateEvmPayoutInput = {
    quote_id: string;
    sender_wallet_address: string;
};
type CreateEvmPayoutResponse = {
    id: string;
    status: TransactionStatus;
    sender_wallet_address: string;
    tracking_complete?: PayoutTrackingComplete;
    tracking_payment?: PayoutTrackingPayment;
    tracking_transaction?: PayoutTrackingTransaction;
    tracking_partner_fee?: PayoutTrackingPartnerFee;
    tracking_liquidity?: PayoutTrackingLiquidity;
    receiver_id: string;
};
type CreateSolanaPayoutInput = {
    quote_id: string;
    sender_wallet_address: string;
    signed_transaction: string | null;
};
type CreateSolanaPayoutResponse = {
    id: string;
    status: TransactionStatus;
    sender_wallet_address: string;
    tracking_complete: PayoutTrackingComplete;
    tracking_payment: PayoutTrackingPayment;
    tracking_transaction: PayoutTrackingTransaction;
    tracking_partner_fee?: PayoutTrackingPartnerFee | null;
    tracking_liquidity?: PayoutTrackingLiquidity | null;
    receiver_id: string | null;
};
declare function createPayoutsResource(instanceId: string, client: InternalApiClient): {
    list(params?: ListPayoutsInput): Promise<BlindpayApiResponse<ListPayoutsResponse>>;
    get(payoutId: GetPayoutInput): Promise<BlindpayApiResponse<GetPayoutResponse>>;
    getTrack(payoutId: GetPayoutTrackInput): Promise<BlindpayApiResponse<GetPayoutTrackResponse>>;
    authorizeStellarToken({ ...data }: AuthorizeStellarTokenInput): Promise<BlindpayApiResponse<AuthorizeStellarTokenResponse>>;
    createStellar({ ...data }: CreateStellarPayoutInput): Promise<BlindpayApiResponse<CreateStellarPayoutResponse>>;
    createEvm({ ...data }: CreateEvmPayoutInput): Promise<BlindpayApiResponse<CreateEvmPayoutResponse>>;
    createSolana({ ...data }: CreateSolanaPayoutInput): Promise<BlindpayApiResponse<CreateSolanaPayoutResponse>>;
    submitDocuments({ payout_id, ...data }: SubmitPayoutDocumentsInput): Promise<BlindpayApiResponse<SubmitPayoutDocumentsResponse>>;
};

export { type AuthorizeStellarTokenInput, type AuthorizeStellarTokenResponse, type CreateEvmPayoutInput, type CreateEvmPayoutResponse, type CreatePayoutInput, type CreateSolanaPayoutInput, type CreateSolanaPayoutResponse, type CreateStellarPayoutInput, type CreateStellarPayoutResponse, type GetPayoutInput, type GetPayoutResponse, type GetPayoutTrackInput, type GetPayoutTrackResponse, type ListPayoutsInput, type ListPayoutsResponse, type Payout, type SpeiProtocol, type SubmitPayoutDocumentsInput, type SubmitPayoutDocumentsResponse, createPayoutsResource };
