import { Service } from "./service";
import { ServiceConfig } from "./service-config";
import { ServiceContext } from "./service-context";
import { ServiceDependent } from "./service-dependent";
import { ServiceExecution } from "./service-execution";
import { ServiceIdentifier } from "./service-types";
export interface Internal {
    set<K extends keyof InternalMap>(service: Service | ServiceDependent, key: K, value: InternalMap[K]): void;
    get<K extends keyof InternalMap>(service: Service | ServiceDependent, key: K): InternalMap[K];
    property<K extends keyof InternalMap>(key: K): any;
    defineProperty<K extends keyof InternalMap>(service: Service | ServiceDependent, key: K, value: InternalMap[K], descriptor: Omit<PropertyDescriptor, "value">): void;
}
interface InternalMap {
    promise: Promise<void> | undefined;
    identifier: ServiceIdentifier;
    constructing: boolean;
    deconstructFns: Set<Function>;
    context: ServiceContext;
    dependent: ServiceDependent;
    execution: ServiceExecution;
    config: ServiceConfig;
    name: string;
}
export declare const INTERNAL: Internal;
export {};
