import { Nullable } from './nullable';
export declare type PrimitiveType = Nullable<boolean | string | number | Function>;
export declare type Immutable<T> = {
    readonly [K in keyof T]: T[K] extends PrimitiveType ? T[K] : Immutable<T[K]>;
};
export declare type Mutable<T> = {
    -readonly [K in keyof T]: Mutable<T[K]>;
};
//# sourceMappingURL=immutability.d.ts.map