import { HttpRequestOptions } from './request';
export type Order = {
    object: string;
    id: string;
    amount: number;
    payment_code: string;
    currency_code: string;
    description: string;
    order_number: string;
    state: string;
    total_fee: number;
    net_amount: number;
    fee_details: string;
    creation_date: number;
    expiration_date: number;
    updated_at: number;
    paid_at: number;
    available_on: null;
    metadata: Record<string, string>;
};
export type CreateOrderRequest = {
    amount: number;
    currency_code: string;
    description: string;
    order_number: string;
    client_details: {
        first_name: string;
        last_name: string;
        email: string;
        phone_number: string;
    };
    expiration_date: number;
};
export type ConfirmOrderRequest = {
    id: string;
};
export type GetOrderRequest = {
    id: string;
};
export type GetOrdersRequest = {
    amount?: string;
    min_amount?: string;
    max_amount?: string;
    creation_date?: string;
    creation_date_from?: string;
    creation_date_to?: string;
    state?: string;
    limit?: string;
    before?: string;
    after?: string;
};
export type GetOrdersResponse = {
    data: Order[];
    paging: {
        previous: string;
        next: string;
        cursors: {
            before: string;
            after: string;
        };
        remaining_items: number;
    };
};
export type UpdateOrderRequest = {
    id: string;
    expiration_date?: number;
    metadata?: Record<string, string>;
};
export type DeleteOrderRequest = {
    id: string;
};
export type DeleteOrderResponse = {
    id: string;
    deleted: boolean;
    merchant_message: string;
};
export declare const orders: {
    createOrder: (req: CreateOrderRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<Order>;
    confirmOrder: (req: ConfirmOrderRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<Order>;
    getOrder: (req: GetOrderRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<Order>;
    getOrders: (req?: GetOrdersRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<GetOrdersResponse>;
    updateOrder: (req: UpdateOrderRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<Order>;
    deleteOrder: (req: DeleteOrderRequest, extraHttpOptions?: Partial<HttpRequestOptions>) => Promise<DeleteOrderResponse>;
};
