import { ClientSDK, RequestOptions } from "../lib/sdks.js";
import * as components from "../models/components/index.js";
import * as operations from "../models/operations/index.js";
import { PageIterator } from "../types/operations.js";
export declare class Identities extends ClientSDK {
    /**
     * Create Identity
     *
     * @remarks
     * Create an identity to group multiple API keys under a single entity. Identities enable shared rate limits and metadata across all associated keys.
     *
     * Perfect for users with multiple devices, organizations with multiple API keys, or when you need unified rate limiting across different services.
     *
     * **Important**
     * Requires `identity.*.create_identity` permission
     */
    createIdentity(request: components.V2IdentitiesCreateIdentityRequestBody, options?: RequestOptions): Promise<components.V2IdentitiesCreateIdentityResponseBody>;
    /**
     * Delete Identity
     *
     * @remarks
     * Permanently delete an identity. This operation cannot be undone.
     *
     * Use this for data cleanup, compliance requirements, or when removing entities from your system.
     *
     * > **Important**
     * > Requires `identity.*.delete_identity` permission
     * > Associated API keys remain functional but lose shared resources
     * > External ID becomes available for reuse immediately
     */
    deleteIdentity(request: components.V2IdentitiesDeleteIdentityRequestBody, options?: RequestOptions): Promise<components.V2IdentitiesDeleteIdentityResponseBody>;
    /**
     * Get Identity
     *
     * @remarks
     * Retrieve an identity by external ID. Returns metadata, rate limits, and other associated data.
     *
     * Use this to check if an identity exists, view configurations, or build management dashboards.
     *
     * > **Important**
     * > Requires `identity.*.read_identity` permission
     */
    getIdentity(request: components.V2IdentitiesGetIdentityRequestBody, options?: RequestOptions): Promise<components.V2IdentitiesGetIdentityResponseBody>;
    /**
     * List Identities
     *
     * @remarks
     * Get a paginated list of all identities in your workspace. Returns metadata and rate limit configurations.
     *
     * Perfect for building management dashboards, auditing configurations, or browsing your identities.
     *
     * > **Important**
     * > Requires `identity.*.read_identity` permission
     */
    listIdentities(request: components.V2IdentitiesListIdentitiesRequestBody, options?: RequestOptions): Promise<PageIterator<operations.IdentitiesListIdentitiesResponse, {
        cursor: string;
    }>>;
    /**
     * Update Identity
     *
     * @remarks
     * Update an identity's metadata and rate limits. Only specified fields are modified - others remain unchanged.
     *
     * Perfect for subscription changes, plan upgrades, or updating user information. Changes take effect immediately.
     *
     * > **Important**
     * > Requires `identity.*.update_identity` permission
     * > Rate limit changes propagate within 30 seconds
     */
    updateIdentity(request: components.V2IdentitiesUpdateIdentityRequestBody, options?: RequestOptions): Promise<components.V2IdentitiesUpdateIdentityResponseBody>;
}
//# sourceMappingURL=identities.d.ts.map