import { type ConsensusDescriptor } from '../../../generated/sdk/v1alpha/sdk_pb'; import type { CreSerializable, NumericType, TypeVerifier } from './serializer_types'; export type ConsensusAggregation = { readonly descriptor: ConsensusDescriptor; readonly defaultValue?: T; withDefault(t: T): ConsensusAggregation; _usesUToForceShape(u: U): void; }; export declare function consensusMedianAggregation(): ConsensusAggregation>>; export declare function consensusIdenticalAggregation(): ConsensusAggregation>>; export declare function consensusCommonPrefixAggregation(): ConsensusAggregation>>; export declare function consensusCommonSuffixAggregation(): ConsensusAggregation>>; export declare function median(): ConsensusFieldAggregation; export declare function identical(): ConsensusFieldAggregation>>; export declare function commonPrefix(): ConsensusFieldAggregation>>; export declare function commonSuffix(): ConsensusFieldAggregation>>; export declare function ignore(): ConsensusFieldAggregation; export declare class ConsensusFieldAggregation { fieldDescriptor?: ConsensusDescriptor | undefined; protected readonly t?: T | undefined; protected readonly u?: U | undefined; constructor(fieldDescriptor?: ConsensusDescriptor | undefined, t?: T | undefined, u?: U | undefined); } export type ConsensusAggregationFields = { [K in keyof T as K extends '$typeName' ? never : K]: () => ConsensusFieldAggregation; }; export declare function ConsensusAggregationByFields(aggregation: ConsensusAggregationFields): ConsensusAggregation;