import { FieldSerializer } from './field-serializers/field-serializer';
import { DbHelperModel } from '../models/db-helper-model.model';
import { Observable } from 'rxjs/Observable';
export declare abstract class Serializer<T extends DbHelperModel> {
    many: boolean | undefined;
    private data;
    model: {
        new (): T;
    };
    private instance;
    private instances;
    private serializers;
    private partial;
    protected abstract fields: Array<string | FieldSerializer>;
    constructor(target?: T | Object | boolean, many?: boolean | undefined);
    setData(data: Object): void;
    setInstance(instance: T): void;
    setInstances(instances: T[]): void;
    setPartialParse(partial: boolean): void;
    getData(): Observable<Object>;
    getInstance(): Observable<T | T[] | null>;
    private getFieldConfig(field);
    isValid(): Object | null;
}
