import { P as PaginationParams, C as Country, B as BlindpayApiResponse, A as AccountClass, k as PaginationMetadata } from '../../index.d-yOiKSwHO.js';
import { I as InternalApiClient } from '../../api-client-Cu0yYexQ.js';

type StrictOmit<T, K extends keyof T> = Omit<T, K>;

type ProofOfAddressDocType = "UTILITY_BILL" | "BANK_STATEMENT" | "RENTAL_AGREEMENT" | "TAX_DOCUMENT" | "GOVERNMENT_CORRESPONDENCE";
type PurposeOfTransactions = "business_transactions" | "charitable_donations" | "investment_purposes" | "payments_to_friends_or_family_abroad" | "personal_or_living_expenses" | "protect_wealth" | "purchase_good_and_services" | "receive_payment_for_freelancing" | "receive_salary" | "other";
type AccountPurpose = "charitable_donations" | "ecommerce_retail_payments" | "investment_purposes" | "business_expenses" | "payments_to_friends_or_family_abroad" | "personal_or_living_expenses" | "protect_wealth" | "purchase_goods_and_services" | "receive_payments_for_goods_and_services" | "tax_optimization" | "third_party_money_transmission" | "other" | "payroll" | "treasury_management";
type BusinessType = "corporation" | "llc" | "partnership" | "sole_proprietorship" | "trust" | "non_profit";
type BusinessIndustry = "541511" | "541512" | "541519" | "518210" | "511210" | "541611" | "541618" | "541330" | "541990" | "522110" | "523110" | "523920" | "423430" | "423690" | "423110" | "423830" | "423840" | "423510" | "424210" | "424690" | "424990" | "454110" | "334111" | "334118" | "325412" | "339112" | "336111" | "336390" | "551112" | "561499" | "488510" | "484121" | "493110" | "424410" | "424480" | "315990" | "313110" | "213112" | "517110" | "541214";
type EstimatedAnnualRevenue = "0_99999" | "100000_999999" | "1000000_9999999" | "10000000_49999999" | "50000000_249999999" | "2500000000_plus";
type SourceOfWealth = "business_dividends_or_profits" | "investments" | "asset_sales" | "client_investor_contributions" | "gambling" | "charitable_contributions" | "inheritance" | "affiliate_or_royalty_income";
type SourceOfFundsDocType = "business_income" | "gambling_proceeds" | "gifts" | "government_benefits" | "inheritance" | "investment_loans" | "pension_retirement" | "salary" | "sale_of_assets_real_estate" | "savings" | "esops" | "investment_proceeds" | "someone_else_funds";
type IdentificationDocument = "PASSPORT" | "ID_CARD" | "DRIVERS";
type KycType = "light" | "standard" | "enhanced";
type OwnerRole = "beneficial_controlling" | "beneficial_owner" | "controlling_person";
type Owner = {
    id: string;
    role: OwnerRole;
    first_name: string;
    last_name: string;
    date_of_birth: string;
    tax_id: string;
    address_line_1: string;
    address_line_2: string | null;
    city: string;
    state_province_region: string;
    country: Country;
    postal_code: string;
    id_doc_country: Country;
    id_doc_type: IdentificationDocument;
    id_doc_front_file: string;
    id_doc_back_file: string | null;
    proof_of_address_doc_type: ProofOfAddressDocType;
    proof_of_address_doc_file: string | null;
    ownership_percentage: number | null;
    title: string | null;
};
type IndividualWithStandardKYC = {
    id: string;
    is_tos_accepted: boolean;
    type: Extract<AccountClass, "individual">;
    kyc_type: Extract<KycType, "standard">;
    kyc_status: string;
    kyc_warnings: Array<{
        code: string | null;
        message: string | null;
        resolution_status: string | null;
        warning_id: string | null;
    }> | null;
    email: string;
    tax_id: string;
    address_line_1: string;
    address_line_2?: string | null;
    city: string;
    state_province_region: string;
    country: Country;
    postal_code: string;
    ip_address: string | null;
    image_url: string | null;
    phone_number: string;
    proof_of_address_doc_type: ProofOfAddressDocType;
    proof_of_address_doc_file: string;
    first_name: string;
    last_name: string;
    date_of_birth: string;
    id_doc_country: Country;
    id_doc_type: IdentificationDocument;
    id_doc_front_file: string;
    id_doc_back_file: string;
    aiprise_validation_key: string;
    instance_id: string;
    tos_id: string | null;
    created_at: string;
    updated_at: string;
    limit: {
        per_transaction: number;
        daily: number;
        monthly: number;
    };
};
type IndividualWithEnhancedKYC = {
    id: string;
    is_tos_accepted: boolean;
    type: Extract<AccountClass, "individual">;
    kyc_type: Extract<KycType, "enhanced">;
    kyc_status: string;
    kyc_warnings: Array<{
        code: string | null;
        message: string | null;
        resolution_status: string | null;
        warning_id: string | null;
    }> | null;
    email: string;
    tax_id: string;
    address_line_1: string;
    address_line_2?: string | null;
    city: string;
    state_province_region: string;
    country: Country;
    postal_code: string;
    ip_address: string | null;
    image_url: string | null;
    phone_number: string | null;
    proof_of_address_doc_type: ProofOfAddressDocType;
    proof_of_address_doc_file: string;
    first_name: string;
    last_name: string;
    date_of_birth: string;
    id_doc_country: Country;
    id_doc_type: IdentificationDocument;
    id_doc_front_file: string;
    id_doc_back_file: string | null;
    aiprise_validation_key: string;
    instance_id: string;
    source_of_funds_doc_type: string;
    source_of_funds_doc_file: string;
    individual_holding_doc_front_file: string;
    purpose_of_transactions: PurposeOfTransactions;
    purpose_of_transactions_explanation: string | null;
    tos_id: string | null;
    created_at: string;
    updated_at: string;
    limit: {
        per_transaction: number;
        daily: number;
        monthly: number;
    };
};
type BusinessWithStandardKYB = {
    id: string;
    is_tos_accepted: boolean;
    is_fbo: boolean;
    type: Extract<AccountClass, "business">;
    kyc_type: Extract<KycType, "standard">;
    kyc_status: string;
    kyc_warnings: Array<{
        code: string | null;
        message: string | null;
        resolution_status: string | null;
        warning_id: string | null;
    }> | null;
    email: string;
    tax_id: string;
    address_line_1: string;
    address_line_2?: string | null;
    city: string;
    state_province_region: string;
    country: Country;
    postal_code: string;
    ip_address: string | null;
    image_url: string | null;
    phone_number: string | null;
    proof_of_address_doc_type: ProofOfAddressDocType;
    proof_of_address_doc_file: string;
    legal_name: string;
    alternate_name: string | null;
    formation_date: string;
    website: string | null;
    owners: Owner[];
    incorporation_doc_file: string;
    proof_of_ownership_doc_file: string;
    external_id: string | null;
    instance_id: string;
    tos_id: string | null;
    aiprise_validation_key: string;
    created_at: string;
    updated_at: string;
    limit: {
        per_transaction: number;
        daily: number;
        monthly: number;
    };
};
type CreateIndividualWithStandardKYCInput = {
    country: Country;
    email: string;
    account_purpose?: AccountPurpose | null;
    address_line_1?: string | null;
    address_line_2?: string | null;
    city?: string | null;
    date_of_birth?: string | null;
    external_id?: string | null;
    first_name?: string | null;
    id_doc_back_file?: string | null;
    id_doc_country?: Country | null;
    id_doc_front_file?: string | null;
    id_doc_type?: IdentificationDocument | null;
    image_url?: string | null;
    ip_address?: string | null;
    last_name?: string | null;
    phone_number?: string | null;
    postal_code?: string | null;
    proof_of_address_doc_file?: string | null;
    proof_of_address_doc_type?: ProofOfAddressDocType | null;
    selfie_file?: string | null;
    source_of_funds_doc_file?: string | null;
    source_of_funds_doc_type?: SourceOfFundsDocType | null;
    source_of_wealth?: SourceOfWealth | null;
    state_province_region?: string | null;
    tax_id?: string | null;
    tos_id?: string | null;
};
type CreateIndividualWithStandardKYCResponse = {
    id: string;
};
type CreateIndividualWithEnhancedKYCInput = {
    country: Country;
    email: string;
    account_purpose?: AccountPurpose | null;
    address_line_1?: string | null;
    address_line_2?: string | null;
    city?: string | null;
    date_of_birth?: string | null;
    external_id?: string | null;
    first_name?: string | null;
    id_doc_back_file?: string | null;
    id_doc_country?: Country | null;
    id_doc_front_file?: string | null;
    id_doc_type?: IdentificationDocument | null;
    image_url?: string | null;
    ip_address?: string | null;
    last_name?: string | null;
    phone_number?: string | null;
    postal_code?: string | null;
    proof_of_address_doc_file?: string | null;
    proof_of_address_doc_type?: ProofOfAddressDocType | null;
    purpose_of_transactions?: PurposeOfTransactions | null;
    purpose_of_transactions_explanation?: string | null;
    selfie_file?: string | null;
    source_of_funds_doc_file?: string | null;
    source_of_funds_doc_type?: SourceOfFundsDocType | null;
    source_of_wealth?: SourceOfWealth | null;
    state_province_region?: string | null;
    tax_id?: string | null;
    tos_id?: string | null;
};
type CreateIndividualWithEnhancedKYCResponse = {
    id: string;
};
type CreateBusinessWithStandardKYBInput = {
    country: Country;
    email: string;
    account_purpose?: AccountPurpose | null;
    address_line_1?: string | null;
    address_line_2?: string | null;
    alternate_name?: string | null;
    business_description?: string | null;
    business_industry?: BusinessIndustry | null;
    business_type?: BusinessType | null;
    city?: string | null;
    estimated_annual_revenue?: EstimatedAnnualRevenue | null;
    external_id?: string | null;
    formation_date?: string | null;
    image_url?: string | null;
    incorporation_doc_file?: string | null;
    ip_address?: string | null;
    legal_name?: string | null;
    owners?: Array<StrictOmit<Owner, "id">> | null;
    phone_number?: string | null;
    postal_code?: string | null;
    proof_of_address_doc_file?: string | null;
    proof_of_address_doc_type?: ProofOfAddressDocType | null;
    proof_of_ownership_doc_file?: string | null;
    publicly_traded?: boolean | null;
    source_of_funds_doc_file?: string | null;
    source_of_funds_doc_type?: SourceOfFundsDocType | null;
    source_of_wealth?: SourceOfWealth | null;
    state_province_region?: string | null;
    tax_id?: string | null;
    tos_id?: string | null;
    website?: string | null;
};
type CreateBusinessWithStandardKYBResponse = {
    id: string;
};
type ListReceiversInput = PaginationParams & {
    full_name?: string;
    receiver_name?: string;
    status?: string;
    receiver_id?: string;
    bank_account_id?: string;
    country?: Country;
};
type ListReceiversResponse = {
    data: Array<IndividualWithStandardKYC | IndividualWithEnhancedKYC | BusinessWithStandardKYB>;
    pagination: PaginationMetadata;
};
type GetReceiverInput = string;
type GetReceiverResponse = IndividualWithStandardKYC | IndividualWithEnhancedKYC | BusinessWithStandardKYB;
type UpdateReceiverInput = {
    receiver_id: string;
    account_purpose?: AccountPurpose | null;
    address_line_1?: string;
    address_line_2?: string;
    alternate_name?: string;
    business_description?: string;
    business_industry?: BusinessIndustry | null;
    business_type?: BusinessType | null;
    city?: string;
    country?: Country;
    date_of_birth?: string;
    email?: string;
    estimated_annual_revenue?: EstimatedAnnualRevenue | null;
    external_id?: string;
    first_name?: string;
    formation_date?: string;
    id_doc_back_file?: string;
    id_doc_country?: Country;
    id_doc_front_file?: string;
    id_doc_type?: IdentificationDocument;
    image_url?: string;
    incorporation_doc_file?: string;
    ip_address?: string;
    last_name?: string;
    legal_name?: string;
    owners?: Array<StrictOmit<Owner, "id">>;
    phone_number?: string;
    postal_code?: string;
    proof_of_address_doc_file?: string;
    proof_of_address_doc_type?: ProofOfAddressDocType;
    proof_of_ownership_doc_file?: string;
    publicly_traded?: boolean | null;
    purpose_of_transactions?: PurposeOfTransactions;
    purpose_of_transactions_explanation?: string;
    selfie_file?: string;
    source_of_funds_doc_file?: string;
    source_of_funds_doc_type?: SourceOfFundsDocType;
    source_of_wealth?: SourceOfWealth | null;
    state_province_region?: string;
    tax_id?: string;
    tos_id?: string;
    website?: string;
};
type DeleteReceiverInput = string;
type GetReceiverLimitsInput = string;
type GetReceiverLimitsResponse = {
    limits: {
        payin: {
            daily: number;
            monthly: number;
        };
        payout: {
            daily: number;
            monthly: number;
        };
    };
};
type GetLimitIncreaseRequestsInput = string;
type LimitIncreaseRequestStatus = "in_review" | "approved" | "rejected";
type LimitIncreaseRequestSupportingDocumentType = "individual_bank_statement" | "individual_tax_return" | "individual_proof_of_income" | "business_bank_statement" | "business_financial_statements" | "business_tax_return";
type GetLimitIncreaseRequestsResponse = Array<{
    id: string;
    receiver_id: string;
    status: LimitIncreaseRequestStatus;
    daily: number;
    monthly: number;
    per_transaction: number;
    supporting_document_file: string;
    supporting_document_type: LimitIncreaseRequestSupportingDocumentType;
    created_at: string;
    updated_at: string;
}>;
type RequestLimitIncreaseInput = {
    receiver_id: string;
    daily: number;
    monthly: number;
    per_transaction: number;
    supporting_document_file: string;
    supporting_document_type: LimitIncreaseRequestSupportingDocumentType;
};
type RequestLimitIncreaseResponse = {
    id: string;
};
declare function createReceiversResource(instanceId: string, client: InternalApiClient): {
    list(params?: ListReceiversInput): Promise<BlindpayApiResponse<ListReceiversResponse>>;
    createIndividualWithStandardKYC(data: CreateIndividualWithStandardKYCInput): Promise<BlindpayApiResponse<CreateIndividualWithStandardKYCResponse>>;
    createIndividualWithEnhancedKYC(data: CreateIndividualWithEnhancedKYCInput): Promise<BlindpayApiResponse<CreateIndividualWithEnhancedKYCResponse>>;
    createBusinessWithStandardKYB(data: CreateBusinessWithStandardKYBInput): Promise<BlindpayApiResponse<CreateBusinessWithStandardKYBResponse>>;
    get(receiver_id: GetReceiverInput): Promise<BlindpayApiResponse<GetReceiverResponse>>;
    update({ receiver_id, ...data }: UpdateReceiverInput): Promise<BlindpayApiResponse<void>>;
    delete(receiver_id: DeleteReceiverInput): Promise<BlindpayApiResponse<void>>;
    getLimits(receiver_id: GetReceiverLimitsInput): Promise<BlindpayApiResponse<GetReceiverLimitsResponse>>;
    getLimitIncreaseRequests(receiver_id: GetLimitIncreaseRequestsInput): Promise<BlindpayApiResponse<GetLimitIncreaseRequestsResponse>>;
    requestLimitIncrease({ receiver_id, ...data }: RequestLimitIncreaseInput): Promise<BlindpayApiResponse<RequestLimitIncreaseResponse>>;
};

export { type AccountPurpose, type BusinessIndustry, type BusinessType, type BusinessWithStandardKYB, type CreateBusinessWithStandardKYBInput, type CreateBusinessWithStandardKYBResponse, type CreateIndividualWithEnhancedKYCInput, type CreateIndividualWithEnhancedKYCResponse, type CreateIndividualWithStandardKYCInput, type CreateIndividualWithStandardKYCResponse, type DeleteReceiverInput, type EstimatedAnnualRevenue, type GetLimitIncreaseRequestsInput, type GetLimitIncreaseRequestsResponse, type GetReceiverInput, type GetReceiverLimitsInput, type GetReceiverLimitsResponse, type GetReceiverResponse, type IdentificationDocument, type IndividualWithEnhancedKYC, type IndividualWithStandardKYC, type KycType, type LimitIncreaseRequestStatus, type LimitIncreaseRequestSupportingDocumentType, type ListReceiversInput, type ListReceiversResponse, type Owner, type OwnerRole, type ProofOfAddressDocType, type PurposeOfTransactions, type RequestLimitIncreaseInput, type RequestLimitIncreaseResponse, type SourceOfFundsDocType, type SourceOfWealth, type UpdateReceiverInput, createReceiversResource };
