import { type NullableString } from '../../protocol/definitions.ts';
import { type Reader } from '../../protocol/reader.ts';
import { Writer } from '../../protocol/writer.ts';
import { type ClientQuotaEntityType, type ClientQuotaKey, type ClientQuotaMatchTypes } from '../enumerations.ts';
export interface DescribeClientQuotasRequestMatchComponent {
    entityType: ClientQuotaEntityType;
    matchType: typeof ClientQuotaMatchTypes.EXACT;
    match: string;
}
export interface DescribeClientQuotasRequestSpecialComponent {
    entityType: ClientQuotaEntityType;
    matchType: typeof ClientQuotaMatchTypes.DEFAULT | typeof ClientQuotaMatchTypes.ANY;
}
export type DescribeClientQuotasRequestComponent = DescribeClientQuotasRequestMatchComponent | DescribeClientQuotasRequestSpecialComponent;
export type DescribeClientQuotasRequest = Parameters<typeof createRequest>;
export interface DescribeClientQuotasResponseValue {
    key: ClientQuotaKey;
    value: number;
}
export interface DescribeClientQuotasResponseEntity {
    entityType: ClientQuotaEntityType;
    entityName: NullableString;
}
export interface DescribeClientQuotasResponseEntry {
    entity: DescribeClientQuotasResponseEntity[];
    values: DescribeClientQuotasResponseValue[];
}
export interface DescribeClientQuotasResponse {
    throttleTimeMs: number;
    errorCode: number;
    errorMessage: NullableString;
    entries: DescribeClientQuotasResponseEntry[];
}
export declare function createRequest(components: DescribeClientQuotasRequestComponent[], strict: boolean): Writer;
export declare function parseResponse(_correlationId: number, apiKey: number, apiVersion: number, reader: Reader): DescribeClientQuotasResponse;
export declare const api: import("../definitions.ts").API<[components: DescribeClientQuotasRequestComponent[], strict: boolean], DescribeClientQuotasResponse>;
