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="#balance_object">balance object</a> details available and pending amounts by source type.</p>
 */
export declare const PostPayouts: any;
//# sourceMappingURL=PostPayouts.d.ts.map