///
import { StatusObject, WriteObject } from './call-interface';
import { Filter, FilterFactory } from './filter';
import { Metadata } from './metadata';
export declare class FilterStack implements Filter {
private readonly filters;
constructor(filters: Filter[]);
sendMetadata(metadata: Promise): Promise;
receiveMetadata(metadata: Metadata): Metadata;
sendMessage(message: Promise): Promise;
receiveMessage(message: Promise): Promise;
receiveTrailers(status: StatusObject): StatusObject;
push(filters: Filter[]): void;
getFilters(): Filter[];
}
export declare class FilterStackFactory implements FilterFactory {
private readonly factories;
constructor(factories: Array>);
push(filterFactories: FilterFactory[]): void;
clone(): FilterStackFactory;
createFilter(): FilterStack;
}