import { TAEditorToolbarType, TAEditorType } from '../core/AEditor.types';
type TableUpModule = typeof import('quill-table-up');
type TCanonicalEditorRuntimeProfile = 'display' | 'readonly' | 'title' | 'full';
export type TAEditorRuntimeProfile = TCanonicalEditorRuntimeProfile | 'RawMinimal' | 'ReadOnly' | 'Title' | 'Full';
export interface IAEditorRuntimeBase {
    customModuleNames: readonly string[];
    profile: TAEditorRuntimeProfile;
}
export interface IAEditorRuntime extends IAEditorRuntimeBase {
    TableMenuSelect: TableUpModule['TableMenuSelect'];
    TableResizeLine: TableUpModule['TableResizeLine'];
    TableResizeScale: TableUpModule['TableResizeScale'];
    TableSelection: TableUpModule['TableSelection'];
    TableUp: TableUpModule['default'];
    defaultCustomSelect: TableUpModule['defaultCustomSelect'];
    tableMenuTools: TableUpModule['tableMenuTools'];
}
export type IAEditorRuntimeLoaded = IAEditorRuntimeBase | IAEditorRuntime;
export type IAEditorRuntimeSnapshot = IAEditorRuntimeLoaded | null;
export interface IAEditorRuntimeProfileInput {
    isReadonly: boolean;
    toolbarType: TAEditorToolbarType;
    type: TAEditorType;
}
export declare function isEditorRuntimeCompatible(runtime: IAEditorRuntimeLoaded | null | undefined, profile: TAEditorRuntimeProfile): boolean;
export declare function resolveEditorRuntimeProfile({ isReadonly, toolbarType, type, }: IAEditorRuntimeProfileInput): TAEditorRuntimeProfile;
export declare function isFullEditorRuntime(runtime: IAEditorRuntime | IAEditorRuntimeBase | null | undefined): runtime is IAEditorRuntime;
export declare function getEditorRuntimeSnapshot(): IAEditorRuntime | null;
export declare function getEditorRuntimeSnapshot(profile: Exclude<TAEditorRuntimeProfile, 'Full'>): IAEditorRuntimeBase | null;
export declare function getEditorRuntimeSnapshot(profile: TAEditorRuntimeProfile): IAEditorRuntime | IAEditorRuntimeBase | null;
export declare function loadEditorRuntime(): Promise<IAEditorRuntime>;
export declare function loadEditorRuntime(profile: Exclude<TAEditorRuntimeProfile, 'Full'>): Promise<IAEditorRuntimeBase>;
export declare function loadEditorRuntime(profile: TAEditorRuntimeProfile): Promise<IAEditorRuntimeLoaded>;
export {};
