import { TopicConfig, TopicConfigPipe } from "../../interfaces/TopicConfig";
import RoachStorm from "../../RoachStorm";
import { Metrics } from "../../Metrics";
import MongoWrapper from "../MongoWrapper";
export declare class TopicConfigModel {
    readonly metrics: Metrics;
    readonly mongoWrapper: MongoWrapper | null;
    readonly name: string;
    private model;
    constructor(roachStorm: RoachStorm, mongoWrapper?: MongoWrapper | null);
    registerModel(mongoose: any, schemaConstructor: any): void;
    get(topic: string): Promise<TopicConfig>;
    listAsTopics(): Promise<string[]>;
    list(): Promise<TopicConfig[]>;
    upsert(sourceTopic: string, pipes?: TopicConfigPipe[], timestamp?: number, parseAsJson?: boolean): Promise<TopicConfig>;
    delete(sourceTopic: string): any;
    truncateCollection(): any;
    private validatePipe;
}
//# sourceMappingURL=TopicConfigModel.d.ts.map