import MiniSandbox from './index'; export declare type GetObjectItemType = T extends object ? T[keyof T] : never; export declare type GetArrayItemType = T extends any[] ? T[number] : never; export declare type TagType = ['head', object, string]; export declare type PublicConfigType = { cssLibs?: string[]; jsLibs?: string[]; css?: string; js?: string; head?: Array; body?: Array; importMap?: { 'imports': object; 'scopes'?: object; }; }; declare type FileType = { title?: string; defaultValue?: string; cssLibs?: PublicConfigType['cssLibs']; jsLibs?: PublicConfigType['jsLibs']; css?: PublicConfigType['css']; js?: PublicConfigType['js']; head?: PublicConfigType['head']; body?: PublicConfigType['body']; importMap?: PublicConfigType['importMap']; urlField?: string; module?: '' | 'iife' | 'esm'; template?: boolean; hidden?: boolean; }; export declare type LocalFileType = Required> & { filename: string; value: string; type: string; }; export declare type LoaderFunctionType = (this: MiniSandbox, context: string, config: LocalFileType) => (string | Promise); export declare type LoadersType = { [key: string]: LoaderFunctionType[]; }; export declare type DefaultConfigType = { theme?: 'light' | 'dark'; autoRun?: boolean; autoRunInterval?: number; height?: string; editorRange?: string; renderRange?: string; draggable?: boolean; direction?: 'row' | 'row-reverse' | 'column' | 'column-reverse'; toolbar?: Array<'reset' | 'reload' | 'left-layout' | 'right-layout' | 'top-layout' | 'bottom-layout'>; }; export declare type EventsType = { onFocus: () => void; onBlur: () => void; onChange: () => void; onLoad: () => void; }; export declare type OptionsType = { el: string | HTMLDivElement; files?: { [filename: string]: FileType; }; loaders: LoadersType; publicConfig?: PublicConfigType; defaultConfig?: DefaultConfigType; events?: EventsType; }; export {};