import { ComprModeType } from './compr-mode-type';
import { Exception } from './exception';
import { Instance } from './seal';
import { VectorConstructorOptions } from './vector';
export type SerializableDependencyOptions = {
    readonly Exception: Exception;
    readonly Vector: VectorConstructorOptions;
    readonly ComprModeType: ComprModeType;
};
export type SerializableDependencies = {
    ({ Exception, Vector, ComprModeType }: SerializableDependencyOptions): SerializableConstructorOptions;
};
export type SerializableConstructorOptions = {
    (): Serializable;
};
export type Serializable = {
    readonly instance: Instance;
    readonly unsafeInject: (instance: Instance) => void;
    readonly delete: () => void;
    readonly save: (compression?: ComprModeType) => string;
    readonly saveArray: (compression?: ComprModeType) => Uint8Array;
};
export declare const SerializableInit: () => SerializableDependencies;
