import { I as InternalApiClient, P as PaginationParams, B as BlindpayApiResponse, T as TransactionStatus, b as TrackingTransaction, c as TrackingPayment, i as TrackingLiquidity, d as TrackingComplete, e as TrackingPartnerFee, N as Network, S as StablecoinToken, h as Currency, j as TransactionDocumentType, R as Rail, C as Country, A as AccountClass, a as BankAccountType, f as PaginationMetadata } from '../../api-client-Cw2mNJeR.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: TrackingTransaction;
    tracking_payment: TrackingPayment;
    tracking_liquidity: TrackingLiquidity;
    tracking_complete: TrackingComplete;
    tracking_partner_fee: TrackingPartnerFee;
    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: string;
    description?: string | null;
    reference?: string | null;
    network?: Network | null;
    token?: StablecoinToken | null;
};
type GetPayoutInput = string;
type GetPayoutResponse = Payout;
type GetPayoutTrackInput = string;
type GetPayoutTrackResponse = Payout;
type ExportPayoutsInput = Pick<PaginationParams, "limit" | "offset">;
type ExportPayoutsResponse = 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?: TrackingComplete;
    tracking_payment?: TrackingPayment;
    tracking_transaction?: TrackingTransaction;
    tracking_partner_fee?: TrackingPartnerFee;
    tracking_liquidity?: TrackingLiquidity;
    receiver_id: string;
};
type CreateEvmPayoutInput = {
    quote_id: string;
    sender_wallet_address: string;
};
type CreateEvmPayoutResponse = {
    id: string;
    status: TransactionStatus;
    sender_wallet_address: string;
    tracking_complete?: TrackingComplete;
    tracking_payment?: TrackingPayment;
    tracking_transaction?: TrackingTransaction;
    tracking_partner_fee?: TrackingPartnerFee;
    tracking_liquidity?: TrackingLiquidity;
    receiver_id: string;
};
declare function createPayoutsResource(instanceId: string, client: InternalApiClient): {
    list(params?: ListPayoutsInput): Promise<BlindpayApiResponse<ListPayoutsResponse>>;
    export(params?: ExportPayoutsInput): Promise<BlindpayApiResponse<ExportPayoutsResponse>>;
    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>>;
};

export { type AuthorizeStellarTokenInput, type AuthorizeStellarTokenResponse, type CreateEvmPayoutInput, type CreateEvmPayoutResponse, type CreatePayoutInput, type CreateStellarPayoutInput, type CreateStellarPayoutResponse, type ExportPayoutsInput, type ExportPayoutsResponse, type GetPayoutInput, type GetPayoutResponse, type GetPayoutTrackInput, type GetPayoutTrackResponse, type ListPayoutsInput, type ListPayoutsResponse, type Payout, type SpeiProtocol, createPayoutsResource };
