import { PolarCore } from "../core.js";
import { RequestOptions } from "../lib/sdks.js";
import { Order } from "../models/components/order.js";
import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
import { HTTPValidationError } from "../models/errors/httpvalidationerror.js";
import { OrderNotDraft } from "../models/errors/ordernotdraft.js";
import { OrdersFinalizeResponse402OrdersFinalize, OrdersFinalizeResponse403OrdersFinalize } from "../models/errors/ordersfinalize.js";
import { PolarError } from "../models/errors/polarerror.js";
import { ResourceNotFound } from "../models/errors/resourcenotfound.js";
import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
import { OrdersFinalizeRequest } from "../models/operations/ordersfinalize.js";
import { APIPromise } from "../types/async.js";
import { Result } from "../types/fp.js";
/**
 * Finalize Order
 *
 * @remarks
 * Finalize a draft order and synchronously attempt an off-session charge.
 *
 * On success, the order transitions to `paid` and benefit grants fire
 * before the response returns. On failure (decline, missing payment method,
 * SCA challenge), the order stays in `draft` and a 4xx error is returned.
 *
 * The request fails with 412 if the order is not in `draft` status.
 *
 * **Scopes**: `orders:write`
 */
export declare function ordersFinalize(client: PolarCore, request: OrdersFinalizeRequest, options?: RequestOptions): APIPromise<Result<Order, OrdersFinalizeResponse402OrdersFinalize | OrdersFinalizeResponse403OrdersFinalize | ResourceNotFound | OrderNotDraft | HTTPValidationError | PolarError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
//# sourceMappingURL=ordersFinalize.d.ts.map