import { ProtocolSymbols } from '../utils/ProtocolSymbols';
import { IACMessageDefinitionObject } from './message';
import { SchemaInfo } from './schemas/schema';
import { TransactionValidator } from './validators/transactions.validator';
export declare enum IACPayloadType {
    FULL = 0,
    CHUNKED = 1
}
export declare class Serializer {
    private static readonly schemas;
    static addSchema(schemaId: number, schema: SchemaInfo, protocol?: ProtocolSymbols): void;
    static getSchema(schemaId: number, protocol?: ProtocolSymbols): SchemaInfo;
    private static getSchemaName;
    serialize(messages: IACMessageDefinitionObject[], chunkSize?: number): Promise<string[]>;
    deserialize(data: string[]): Promise<IACMessageDefinitionObject[]>;
    serializationValidatorByProtocolIdentifier(protocolIdentifier: ProtocolSymbols): TransactionValidator;
}
