import type { BaseResponse } from '../../../core/base-client';
import type { P21CoreClient } from '../client';
import type { CompanyListParams, CompanyDetailParams } from '../schemas';
type ExecuteRequest = P21CoreClient['executeRequest'];
/**
 * Creates the company resource methods
 * OpenAPI Path: /company → company.*
 * @description Company management operations for enterprise configuration
 */
export declare function createCompanyResource(executeRequest: ExecuteRequest, createListMethod: P21CoreClient['createListMethod']): {
    /**
     * List companies with filtering
     * @fullPath api.p21Core.company.list
     * @service p21-core
     * @domain company-and-corporate-management
     * @dataMethod companyData.list
     * @discoverable true
     */
    list: (params?: {
        limit?: number | undefined;
        offset?: number | undefined;
        q?: string | undefined;
        orderBy?: string | undefined;
        companyId?: string | undefined;
    } | undefined) => Promise<BaseResponse<unknown[]>>;
    /**
     * Get company details by UID
     * @fullPath api.p21Core.company.get
     * @service p21-core
     * @domain company-and-corporate-management
     * @dataMethod companyData.get
     * @discoverable true
     */
    get: (params: CompanyDetailParams) => Promise<BaseResponse<unknown>>;
};
/**
 * Creates the companyData resource methods (data-only versions)
 */
export declare function createCompanyDataResource(company: ReturnType<typeof createCompanyResource>): {
    list: (params?: CompanyListParams) => Promise<unknown[]>;
    get: (params: CompanyDetailParams) => Promise<unknown>;
};
export type CompanyResource = ReturnType<typeof createCompanyResource>;
export type CompanyDataResource = ReturnType<typeof createCompanyDataResource>;
export {};
//# sourceMappingURL=company.d.ts.map