import type { BaseResponse } from '../../../core/base-client';
import type { P21CoreClient } from '../client';
import type { CashDrawerListParams } from '../schemas';
type ExecuteRequest = P21CoreClient['executeRequest'];
/**
 * Creates the cashDrawer resource methods
 * OpenAPI Path: /cash_drawer → cashDrawer.*
 * @description Cash drawer management operations for POS and financial transactions
 */
export declare function createCashDrawerResource(executeRequest: ExecuteRequest, createListMethod: P21CoreClient['createListMethod']): {
    /**
     * List cash drawers with filtering
     * @fullPath api.p21Core.cashDrawer.list
     * @service p21-core
     * @domain financial-and-pos-management
     * @dataMethod cashDrawerData.list
     * @discoverable true
     */
    list: (params?: {
        limit?: number | undefined;
        offset?: number | undefined;
        q?: string | undefined;
        orderBy?: string | undefined;
        statusCd?: number | undefined;
        companyId?: string | undefined;
    } | undefined) => Promise<BaseResponse<unknown[]>>;
    /**
     * Get cash drawer details by UID
     * @fullPath api.p21Core.cashDrawer.get
     * @service p21-core
     * @domain financial-and-pos-management
     * @dataMethod cashDrawerData.get
     * @discoverable true
     */
    get: (params: {
        cashDrawerUid: number;
    }) => Promise<BaseResponse<unknown>>;
};
/**
 * Creates the cashDrawerData resource methods (data-only versions)
 */
export declare function createCashDrawerDataResource(cashDrawer: ReturnType<typeof createCashDrawerResource>): {
    list: (params?: CashDrawerListParams) => Promise<unknown[]>;
    get: (params: {
        cashDrawerUid: number;
    }) => Promise<unknown>;
};
export type CashDrawerResource = ReturnType<typeof createCashDrawerResource>;
export type CashDrawerDataResource = ReturnType<typeof createCashDrawerDataResource>;
export {};
//# sourceMappingURL=cash-drawer.d.ts.map