import type { VirtualTypeScriptEnvironment } from '@typescript/vfs';
import { LitElement } from 'lit';
declare global {
    interface HTMLElementTagNameMap {
        'play-editor': PlayEditor;
    }
}
/**
 * @fires {string} edit
 * @fires {string} edit-template
 * @slot - Optional template.
 */
/** Accepts a slotted template. */
export declare class PlayEditor extends LitElement {
    #private;
    static readonly styles: import("lit").CSSResult;
    env: VirtualTypeScriptEnvironment;
    src: string | undefined;
    private _root;
    private _scripts;
    /**
     * @arg line One-based index.
     * @arg char Zero-based index.
     */
    openLine(line: number, char: number): void;
    setSrc(src: string): void;
    protected firstUpdated(): void;
    protected render(): unknown;
    private _onSlotChange;
}
