export declare type DeepPartial<T> = {
    [P in keyof T]?: T[P] extends Array<infer U> ? Array<DeepPartial<U>> : T[P] extends ReadonlyArray<infer V> ? ReadonlyArray<DeepPartial<V>> : T[P] extends string | number | boolean | null | undefined ? T[P] : DeepPartial<T[P]>;
};
/** inheriting from Initializer adds an apply<T> method to the class, allowing you to accept an object initalizer, and applying it to the class in the constructor. */
export declare class Initializer {
    private applyTo;
    protected apply<T>(initializer?: Partial<T>): void;
}
//# sourceMappingURL=initializer.d.ts.map