import { CommandEntity, DataEntity } from '../interfaces';
export interface SerializerOptions {
    keepAttributes?: boolean;
    flattenDepth?: number;
}
/**
 * Converts internal DynamoDB structure to external flat structure
 * @param item Internal item (CommandEntity or DataEntity)
 * @param options Serialization options
 * @returns Flattened external structure
 */
export declare function serializeToExternal<T extends CommandEntity | DataEntity>(item: T | null | undefined, options?: SerializerOptions): Record<string, any> | null;
/**
 * Converts external flat structure to internal DynamoDB structure
 * @param data External flat structure
 * @param EntityClass Entity class to instantiate (CommandEntity or DataEntity)
 * @returns Internal structure
 */
export declare function deserializeToInternal<T extends CommandEntity | DataEntity>(data: Record<string, any> | null | undefined, EntityClass: new () => T): T | null;
