import { APIResource } from "../resource.js";
import * as Core from "../core.js";
import { Page, type PageParams } from "../pagination.js";
/**
 * The LicenseType resource represents a type of license that can be assigned to users.
 * License types are used during billing by grouping metrics on the configured grouping key.
 */
export declare class LicenseTypes extends APIResource {
    /**
     * This endpoint is used to create a new license type.
     *
     * License types are used to group licenses and define billing behavior. Each
     * license type has a name and a grouping key that determines how metrics are
     * aggregated for billing purposes.
     */
    create(body: LicenseTypeCreateParams, options?: Core.RequestOptions): Core.APIPromise<LicenseTypeCreateResponse>;
    /**
     * This endpoint returns a license type identified by its license_type_id.
     *
     * Use this endpoint to retrieve details about a specific license type, including
     * its name and grouping key.
     */
    retrieve(licenseTypeId: string, options?: Core.RequestOptions): Core.APIPromise<LicenseTypeRetrieveResponse>;
    /**
     * This endpoint returns a list of all license types configured for the account,
     * ordered in ascending order by creation time.
     *
     * License types are used to group licenses and define billing behavior. Each
     * license type has a name and a grouping key that determines how metrics are
     * aggregated for billing purposes.
     */
    list(query?: LicenseTypeListParams, options?: Core.RequestOptions): Core.PagePromise<LicenseTypeListResponsesPage, LicenseTypeListResponse>;
    list(options?: Core.RequestOptions): Core.PagePromise<LicenseTypeListResponsesPage, LicenseTypeListResponse>;
}
export declare class LicenseTypeListResponsesPage extends Page<LicenseTypeListResponse> {
}
/**
 * The LicenseType resource represents a type of license that can be assigned to
 * users. License types are used during billing by grouping metrics on the
 * configured grouping key.
 */
export interface LicenseTypeCreateResponse {
    /**
     * The Orb-assigned unique identifier for the license type.
     */
    id: string;
    /**
     * The key used for grouping licenses of this type. This is typically a user
     * identifier field.
     */
    grouping_key: string;
    /**
     * The name of the license type.
     */
    name: string;
}
/**
 * The LicenseType resource represents a type of license that can be assigned to
 * users. License types are used during billing by grouping metrics on the
 * configured grouping key.
 */
export interface LicenseTypeRetrieveResponse {
    /**
     * The Orb-assigned unique identifier for the license type.
     */
    id: string;
    /**
     * The key used for grouping licenses of this type. This is typically a user
     * identifier field.
     */
    grouping_key: string;
    /**
     * The name of the license type.
     */
    name: string;
}
/**
 * The LicenseType resource represents a type of license that can be assigned to
 * users. License types are used during billing by grouping metrics on the
 * configured grouping key.
 */
export interface LicenseTypeListResponse {
    /**
     * The Orb-assigned unique identifier for the license type.
     */
    id: string;
    /**
     * The key used for grouping licenses of this type. This is typically a user
     * identifier field.
     */
    grouping_key: string;
    /**
     * The name of the license type.
     */
    name: string;
}
export interface LicenseTypeCreateParams {
    /**
     * The key used for grouping licenses of this type. This is typically a user
     * identifier field.
     */
    grouping_key: string;
    /**
     * The name of the license type.
     */
    name: string;
}
export interface LicenseTypeListParams extends PageParams {
}
export declare namespace LicenseTypes {
    export { type LicenseTypeCreateResponse as LicenseTypeCreateResponse, type LicenseTypeRetrieveResponse as LicenseTypeRetrieveResponse, type LicenseTypeListResponse as LicenseTypeListResponse, LicenseTypeListResponsesPage as LicenseTypeListResponsesPage, type LicenseTypeCreateParams as LicenseTypeCreateParams, type LicenseTypeListParams as LicenseTypeListParams, };
}
//# sourceMappingURL=license-types.d.ts.map