import type { VirtualTypeScriptEnvironment } from '@typescript/vfs';
import { LitElement, type CSSResultGroup, type PropertyValues, type TemplateResult } from 'lit';
declare global {
    interface HTMLElementEventMap {
        edit: CustomEvent<string>;
        'edit-template': CustomEvent<string>;
    }
    interface HTMLElementTagNameMap {
        'play-editor': PlayEditor;
    }
}
/** @slot - Optional template. */
export declare class PlayEditor extends LitElement {
    #private;
    static readonly styles: CSSResultGroup;
    env?: VirtualTypeScriptEnvironment;
    src: string;
    private _editorEl;
    private _scripts;
    /**
     * @arg line One-based index.
     * @arg char Zero-based index.
     */
    openLine(line: number, char: number): void;
    setSrc(src: string): void;
    protected willUpdate(props: PropertyValues<this>): Promise<void>;
    protected render(): TemplateResult;
    private _onSlotChange;
}
