import { ISdtfIntegration, ISdtfWriteableAsset, ISdtfWriteableAttribute, ISdtfWriteableBuffer, ISdtfWriteableDataItem, ISdtfWriteableTypeHint } from '@shapediver/sdk.sdtf-core';
import { ISdtfWriteableComponentList } from './ISdtfWriteableComponentList';
import { ISdtfWriteableComponentPostProcessor } from './ISdtfWriteableComponentPostProcessor';
export declare class SdtfWriteableComponentPostProcessor implements ISdtfWriteableComponentPostProcessor {
    private readonly integrations;
    private readonly factory;
    constructor(integrations: ISdtfIntegration[]);
    optimize(asset: ISdtfWriteableAsset): ISdtfWriteableComponentList;
    processDataComponents(components: (ISdtfWriteableAttribute | ISdtfWriteableDataItem)[]): void;
    postProcessDataComponents(components: (ISdtfWriteableAttribute | ISdtfWriteableDataItem)[]): void;
    complementTypeHints(componentList: ISdtfWriteableComponentList): void;
    removeDuplicatedTypeHints(componentList: ISdtfWriteableComponentList): void;
    areTypeHintsSimilar(t1: ISdtfWriteableTypeHint, t2: ISdtfWriteableTypeHint): boolean;
    resolveBuffers(componentList: ISdtfWriteableComponentList): void;
    mergeBuffers(uri: string, buffers: ISdtfWriteableBuffer[]): [ISdtfWriteableBuffer, number[]];
    mergeBufferData(buffers: ISdtfWriteableBuffer[]): [ArrayBuffer, number[]];
}
//# sourceMappingURL=SdtfWriteableComponentPostProcessor.d.ts.map