/**
 * Kalshi Trade API Manual Endpoints
 * Manually defined OpenAPI spec for endpoints being migrated to spec-first approach
 *
 * The version of the OpenAPI document: 3.11.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { CreateOrderGroupRequest } from '../models';
import type { CreateOrderGroupResponse } from '../models';
import type { GetOrderGroupResponse } from '../models';
import type { GetOrderGroupsResponse } from '../models';
import type { UpdateOrderGroupLimitRequest } from '../models';
/**
 * OrderGroupsApi - axios parameter creator
 */
export declare const OrderGroupsApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *  Creates a new order group with a contracts limit measured over a rolling 15-second window. When the limit is hit, all orders in the group are cancelled and no new orders can be placed until reset.
     * @summary Create Order Group
     * @param {CreateOrderGroupRequest} createOrderGroupRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createOrderGroup: (createOrderGroupRequest: CreateOrderGroupRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *  Deletes an order group and cancels all orders within it. This permanently removes the group.
     * @summary Delete Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). Defaults to 0.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteOrderGroup: (orderGroupId: string, subaccount?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *  Retrieves details for a single order group including all order IDs and auto-cancel status.
     * @summary Get Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). If omitted, defaults to all subaccounts.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOrderGroup: (orderGroupId: string, subaccount?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *  Retrieves all order groups for the authenticated user.
     * @summary Get Order Groups
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). If omitted, defaults to all subaccounts.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOrderGroups: (subaccount?: number, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *  Resets the order group\'s matched contracts counter to zero, allowing new orders to be placed again after the limit was hit.
     * @summary Reset Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). Defaults to 0.
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    resetOrderGroup: (orderGroupId: string, subaccount?: number, body?: object, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *  Triggers the order group, canceling all orders in the group and preventing new orders until the group is reset.
     * @summary Trigger Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). Defaults to 0.
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    triggerOrderGroup: (orderGroupId: string, subaccount?: number, body?: object, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *  Updates the order group contracts limit (rolling 15-second window). If the updated limit would immediately trigger the group, all orders in the group are canceled and the group is triggered.
     * @summary Update Order Group Limit
     * @param {string} orderGroupId Order group ID
     * @param {UpdateOrderGroupLimitRequest} updateOrderGroupLimitRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateOrderGroupLimit: (orderGroupId: string, updateOrderGroupLimitRequest: UpdateOrderGroupLimitRequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * OrderGroupsApi - functional programming interface
 */
export declare const OrderGroupsApiFp: (configuration?: Configuration) => {
    /**
     *  Creates a new order group with a contracts limit measured over a rolling 15-second window. When the limit is hit, all orders in the group are cancelled and no new orders can be placed until reset.
     * @summary Create Order Group
     * @param {CreateOrderGroupRequest} createOrderGroupRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createOrderGroup(createOrderGroupRequest: CreateOrderGroupRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateOrderGroupResponse>>;
    /**
     *  Deletes an order group and cancels all orders within it. This permanently removes the group.
     * @summary Delete Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). Defaults to 0.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteOrderGroup(orderGroupId: string, subaccount?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>>;
    /**
     *  Retrieves details for a single order group including all order IDs and auto-cancel status.
     * @summary Get Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). If omitted, defaults to all subaccounts.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOrderGroup(orderGroupId: string, subaccount?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetOrderGroupResponse>>;
    /**
     *  Retrieves all order groups for the authenticated user.
     * @summary Get Order Groups
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). If omitted, defaults to all subaccounts.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOrderGroups(subaccount?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GetOrderGroupsResponse>>;
    /**
     *  Resets the order group\'s matched contracts counter to zero, allowing new orders to be placed again after the limit was hit.
     * @summary Reset Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). Defaults to 0.
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    resetOrderGroup(orderGroupId: string, subaccount?: number, body?: object, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>>;
    /**
     *  Triggers the order group, canceling all orders in the group and preventing new orders until the group is reset.
     * @summary Trigger Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). Defaults to 0.
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    triggerOrderGroup(orderGroupId: string, subaccount?: number, body?: object, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>>;
    /**
     *  Updates the order group contracts limit (rolling 15-second window). If the updated limit would immediately trigger the group, all orders in the group are canceled and the group is triggered.
     * @summary Update Order Group Limit
     * @param {string} orderGroupId Order group ID
     * @param {UpdateOrderGroupLimitRequest} updateOrderGroupLimitRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateOrderGroupLimit(orderGroupId: string, updateOrderGroupLimitRequest: UpdateOrderGroupLimitRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<object>>;
};
/**
 * OrderGroupsApi - factory interface
 */
export declare const OrderGroupsApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *  Creates a new order group with a contracts limit measured over a rolling 15-second window. When the limit is hit, all orders in the group are cancelled and no new orders can be placed until reset.
     * @summary Create Order Group
     * @param {CreateOrderGroupRequest} createOrderGroupRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createOrderGroup(createOrderGroupRequest: CreateOrderGroupRequest, options?: RawAxiosRequestConfig): AxiosPromise<CreateOrderGroupResponse>;
    /**
     *  Deletes an order group and cancels all orders within it. This permanently removes the group.
     * @summary Delete Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). Defaults to 0.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteOrderGroup(orderGroupId: string, subaccount?: number, options?: RawAxiosRequestConfig): AxiosPromise<object>;
    /**
     *  Retrieves details for a single order group including all order IDs and auto-cancel status.
     * @summary Get Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). If omitted, defaults to all subaccounts.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOrderGroup(orderGroupId: string, subaccount?: number, options?: RawAxiosRequestConfig): AxiosPromise<GetOrderGroupResponse>;
    /**
     *  Retrieves all order groups for the authenticated user.
     * @summary Get Order Groups
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). If omitted, defaults to all subaccounts.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOrderGroups(subaccount?: number, options?: RawAxiosRequestConfig): AxiosPromise<GetOrderGroupsResponse>;
    /**
     *  Resets the order group\'s matched contracts counter to zero, allowing new orders to be placed again after the limit was hit.
     * @summary Reset Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). Defaults to 0.
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    resetOrderGroup(orderGroupId: string, subaccount?: number, body?: object, options?: RawAxiosRequestConfig): AxiosPromise<object>;
    /**
     *  Triggers the order group, canceling all orders in the group and preventing new orders until the group is reset.
     * @summary Trigger Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). Defaults to 0.
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    triggerOrderGroup(orderGroupId: string, subaccount?: number, body?: object, options?: RawAxiosRequestConfig): AxiosPromise<object>;
    /**
     *  Updates the order group contracts limit (rolling 15-second window). If the updated limit would immediately trigger the group, all orders in the group are canceled and the group is triggered.
     * @summary Update Order Group Limit
     * @param {string} orderGroupId Order group ID
     * @param {UpdateOrderGroupLimitRequest} updateOrderGroupLimitRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateOrderGroupLimit(orderGroupId: string, updateOrderGroupLimitRequest: UpdateOrderGroupLimitRequest, options?: RawAxiosRequestConfig): AxiosPromise<object>;
};
/**
 * OrderGroupsApi - object-oriented interface
 */
export declare class OrderGroupsApi extends BaseAPI {
    /**
     *  Creates a new order group with a contracts limit measured over a rolling 15-second window. When the limit is hit, all orders in the group are cancelled and no new orders can be placed until reset.
     * @summary Create Order Group
     * @param {CreateOrderGroupRequest} createOrderGroupRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    createOrderGroup(createOrderGroupRequest: CreateOrderGroupRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<CreateOrderGroupResponse, any, {}>>;
    /**
     *  Deletes an order group and cancels all orders within it. This permanently removes the group.
     * @summary Delete Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). Defaults to 0.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteOrderGroup(orderGroupId: string, subaccount?: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<object, any, {}>>;
    /**
     *  Retrieves details for a single order group including all order IDs and auto-cancel status.
     * @summary Get Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). If omitted, defaults to all subaccounts.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOrderGroup(orderGroupId: string, subaccount?: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<GetOrderGroupResponse, any, {}>>;
    /**
     *  Retrieves all order groups for the authenticated user.
     * @summary Get Order Groups
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). If omitted, defaults to all subaccounts.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    getOrderGroups(subaccount?: number, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<GetOrderGroupsResponse, any, {}>>;
    /**
     *  Resets the order group\'s matched contracts counter to zero, allowing new orders to be placed again after the limit was hit.
     * @summary Reset Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). Defaults to 0.
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    resetOrderGroup(orderGroupId: string, subaccount?: number, body?: object, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<object, any, {}>>;
    /**
     *  Triggers the order group, canceling all orders in the group and preventing new orders until the group is reset.
     * @summary Trigger Order Group
     * @param {string} orderGroupId Order group ID
     * @param {number} [subaccount] Subaccount number (0 for primary, 1-32 for subaccounts). Defaults to 0.
     * @param {object} [body]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    triggerOrderGroup(orderGroupId: string, subaccount?: number, body?: object, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<object, any, {}>>;
    /**
     *  Updates the order group contracts limit (rolling 15-second window). If the updated limit would immediately trigger the group, all orders in the group are canceled and the group is triggered.
     * @summary Update Order Group Limit
     * @param {string} orderGroupId Order group ID
     * @param {UpdateOrderGroupLimitRequest} updateOrderGroupLimitRequest
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateOrderGroupLimit(orderGroupId: string, updateOrderGroupLimitRequest: UpdateOrderGroupLimitRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<object, any, {}>>;
}
