import { CommandParser } from '../client/parser';
import { ArrayReply, BlobStringReply, MapReply, NumberReply, ReplyUnion, Resp2Reply, TuplesReply, TypeMapping, UnwrapReply } from '../RESP/types';
import { RedisVariadicArgument } from './generic-transformers';
export interface CommandDocsArgument {
    name?: BlobStringReply;
    type?: BlobStringReply;
    display_text?: BlobStringReply;
    key_spec_index?: NumberReply;
    token?: BlobStringReply;
    summary?: BlobStringReply;
    since?: BlobStringReply;
    deprecated_since?: BlobStringReply;
    flags?: ArrayReply<BlobStringReply>;
    arguments?: ArrayReply<CommandDocsArgument>;
}
export interface CommandDoc {
    summary?: BlobStringReply;
    since?: BlobStringReply;
    group?: BlobStringReply;
    complexity?: BlobStringReply;
    module?: BlobStringReply;
    doc_flags?: ArrayReply<BlobStringReply>;
    deprecated_since?: BlobStringReply;
    replaced_by?: BlobStringReply;
    history?: ArrayReply<TuplesReply<[BlobStringReply, BlobStringReply]>>;
    arguments?: ArrayReply<CommandDocsArgument>;
    subcommands?: CommandDocsReply;
    reply_schema?: ReplyUnion;
}
export type CommandDocsReply = MapReply<BlobStringReply, CommandDoc>;
declare const _default: {
    readonly IS_READ_ONLY: true;
    /**
     * @see https://redis.io/commands/command-docs/
     */
    readonly parseCommand: (this: void, parser: CommandParser, commands?: RedisVariadicArgument) => void;
    readonly transformReply: {
        readonly 2: (reply: UnwrapReply<Resp2Reply<CommandDocsReply>>, _preserve?: unknown, typeMapping?: TypeMapping) => CommandDocsReply;
        readonly 3: () => CommandDocsReply;
    };
};
export default _default;
//# sourceMappingURL=COMMAND_DOCS.d.ts.map