import * as Schema from "effect/Schema";
export declare const PostPayoutsInput: Schema.Struct<{
    readonly amount: Schema.Number;
    readonly currency: Schema.String;
    readonly description: Schema.optional<Schema.String>;
    readonly destination: Schema.optional<Schema.String>;
    readonly expand: Schema.optional<Schema.$Array<Schema.String>>;
    readonly metadata: Schema.optional<Schema.$Record<Schema.String, Schema.String>>;
    readonly method: Schema.optional<Schema.Literals<readonly ["instant", "standard"]>>;
    readonly payout_method: Schema.optional<Schema.String>;
    readonly source_type: Schema.optional<Schema.Literals<readonly ["bank_account", "card", "fpx"]>>;
    readonly statement_descriptor: Schema.optional<Schema.String>;
}>;
export type PostPayoutsInput = typeof PostPayoutsInput.Type;
export declare const PostPayoutsOutput: Schema.Struct<{
    readonly amount: Schema.Number;
    readonly application_fee: Schema.Unknown;
    readonly application_fee_amount: Schema.NullOr<Schema.Number>;
    readonly arrival_date: Schema.Number;
    readonly automatic: Schema.Boolean;
    readonly balance_transaction: Schema.Unknown;
    readonly created: Schema.Number;
    readonly currency: Schema.String;
    readonly description: Schema.NullOr<Schema.String>;
    readonly destination: Schema.Unknown;
    readonly failure_balance_transaction: Schema.Unknown;
    readonly failure_code: Schema.NullOr<Schema.String>;
    readonly failure_message: Schema.NullOr<Schema.String>;
    readonly id: Schema.String;
    readonly livemode: Schema.Boolean;
    readonly metadata: Schema.NullOr<Schema.$Record<Schema.String, Schema.String>>;
    readonly method: Schema.String;
    readonly object: Schema.Literals<readonly ["payout"]>;
    readonly original_payout: Schema.Unknown;
    readonly payout_method: Schema.NullOr<Schema.String>;
    readonly reconciliation_status: Schema.Literals<readonly ["completed", "in_progress", "not_applicable"]>;
    readonly reversed_by: Schema.Unknown;
    readonly source_type: Schema.String;
    readonly statement_descriptor: Schema.NullOr<Schema.String>;
    readonly status: Schema.String;
    readonly trace_id: Schema.Unknown;
    readonly type: Schema.Literals<readonly ["bank_account", "card"]>;
}>;
export type PostPayoutsOutput = typeof PostPayoutsOutput.Type;
/**
 * Create a payout
 *
 * <p>To send funds to your own bank account, create a new payout object. Your <a href="#balance">Stripe balance</a> must cover the payout amount. If it doesn’t, you receive an “Insufficient Funds” error.</p>
 * <p>If your API key is in test mode, money won’t actually be sent, though every other action occurs as if you’re in live mode.</p>
 * <p>If you create a manual payout on a Stripe account that uses multiple payment source types, you need to specify the source type balance that the payout draws from. The <a href="/api/balances/object">balance object</a> details available and pending amounts by source type.</p>
 */
export declare const PostPayouts: import("@distilled.cloud/core/client").OperationMethod<{
    readonly amount: number;
    readonly currency: string;
    readonly description?: string | undefined;
    readonly destination?: string | undefined;
    readonly expand?: readonly string[] | undefined;
    readonly metadata?: {
        readonly [x: string]: string;
    } | undefined;
    readonly method?: "instant" | "standard" | undefined;
    readonly payout_method?: string | undefined;
    readonly source_type?: "bank_account" | "card" | "fpx" | undefined;
    readonly statement_descriptor?: string | undefined;
}, {
    readonly amount: number;
    readonly application_fee: unknown;
    readonly application_fee_amount: number | null;
    readonly arrival_date: number;
    readonly automatic: boolean;
    readonly balance_transaction: unknown;
    readonly created: number;
    readonly currency: string;
    readonly description: string | null;
    readonly destination: unknown;
    readonly failure_balance_transaction: unknown;
    readonly failure_code: string | null;
    readonly failure_message: string | null;
    readonly id: string;
    readonly livemode: boolean;
    readonly metadata: {
        readonly [x: string]: string;
    } | null;
    readonly method: string;
    readonly object: "payout";
    readonly original_payout: unknown;
    readonly payout_method: string | null;
    readonly reconciliation_status: "completed" | "in_progress" | "not_applicable";
    readonly reversed_by: unknown;
    readonly source_type: string;
    readonly statement_descriptor: string | null;
    readonly status: string;
    readonly trace_id: unknown;
    readonly type: "bank_account" | "card";
}, never, import("../credentials.ts").Credentials>;
//# sourceMappingURL=PostPayouts.d.ts.map