import { status } from '../../status/aether';
import { telem } from '.';
import { client } from '../client';
export interface CreateOptions {
    onStatusChange?: status.Adder;
}
export interface Factory {
    type: string;
    create: (spec: telem.Spec, options?: CreateOptions) => telem.Telem | null;
}
export declare class CompoundTelemFactory {
    factories: Factory[];
    type: string;
    constructor(factories: Factory[]);
    add(factory: Factory): void;
    create(props: telem.Spec, options?: CreateOptions): telem.Telem | null;
}
export declare const createFactory: (client?: client.Client) => CompoundTelemFactory;
//# sourceMappingURL=factory.d.ts.map