import { TemplateResult } from 'lit';
import { AmfShapes } from '@api-client/core/build/browser.js';
import { ApiDocumentationBase } from './ApiDocumentationBase.js';
import '../../define/ui/ui-radio.js';
export default class ApiSchemaDocument extends ApiDocumentationBase {
    mimeTypeValue?: string;
    /**
     * The mime type to use to render the examples.
     * @attribute
     */
    get mimeType(): string | undefined;
    set mimeType(value: string | undefined);
    schemaValue?: AmfShapes.IShapeUnion;
    get schema(): AmfShapes.IShapeUnion | undefined;
    set schema(value: AmfShapes.IShapeUnion | undefined);
    /**
     * Generates examples from the schema properties for the given mime type
     * when examples are not defined in the schema.
     * @attribute
     */
    forceExamples?: boolean;
    /**
     * When set it allows to manipulate the properties.
     * This is to be used with a combination with the `edit` property.
     * @attribute
     */
    editProperties?: boolean;
    /**
     * When set it renders the title with lower emphasis and adding `schema` prefix.
     * @attribute
     */
    schemaTitle?: boolean;
    /**
     * When set it does not render read only items.
     * Read only property is a feature of OAS.
     * @attribute
     */
    noReadOnly?: boolean;
    expandedValue: string[];
    get expanded(): string[];
    selectedUnionsValue: Record<string, string>;
    get selectedUnions(): Record<string, string>;
    propertyDescriptionEditor?: string;
    constructor();
    processGraph(): Promise<void>;
    /**
     * Queries the store for the schema data, when needed.
     */
    querySchema(): Promise<void>;
    /**
     * The logic to perform after schema is ready.
     * This processes examples for the schema.
     */
    processSchema(): void;
    expandHandler(e: Event): void;
    expandKeydownHandler(e: KeyboardEvent): void;
    /**
     * Toggles an "expanded" state for a property children.
     * @param id Parent property id that has children to toggle visibility of.
     */
    toggleExpandedProperty(id: string): void;
    anyOfSelectedHandler(e: Event): void;
    /**
     * Orders union items so the first is the one that has properties defined inline.
     */
    orderUnion(shapes: AmfShapes.IShapeUnion[]): AmfShapes.IShapeUnion[];
    render(): TemplateResult;
    /**
     * @returns The template for the schema title.
     */
    titleTemplate(schema: AmfShapes.IShapeUnion): TemplateResult | string;
    /**
     * @param schema The shape to render.
     * @returns The template for the schema properties depending on the type
     */
    schemaContentTemplate(schema: AmfShapes.IShapeUnion): TemplateResult | string;
    /**
     * @returns The template for the scalar shape.
     */
    scalarShapeTemplate(schema: AmfShapes.IApiScalarShape): TemplateResult | string;
    /**
     * @returns The template for the node shape.
     */
    nodeShapeTemplate(schema: AmfShapes.IApiNodeShape): TemplateResult | string;
    /**
     * @returns The template for the union shape.
     */
    unionShapeTemplate(schema: AmfShapes.IApiUnionShape): TemplateResult | string;
    andUnionItemTemplate(shape: AmfShapes.IShapeUnion): TemplateResult;
    /**
     * @returns The template for the "and" union item's title, if inherited from another type.
     */
    inheritanceNameTemplate(shape: AmfShapes.IShapeUnion): TemplateResult | string;
    /**
     * @returns The template for the `any of` union.
     */
    anyOfUnionTemplate(schemaId: string, items: AmfShapes.IShapeUnion[]): TemplateResult | string;
    /**
     * @param schemaId The parent schema id value
     * @param options The options to render.
     * @returns The template for the union any of selector.
     */
    anyOfOptionsTemplate(schemaId: string, options: ({
        id: string;
        label: string;
    })[], selected: string): TemplateResult;
    /**
     * @returns The template for the file shape.
     */
    fileShapeTemplate(schema: AmfShapes.IApiFileShape): TemplateResult | string;
    /**
     * @returns The template for the schema shape.
     */
    schemaShapeTemplate(schema: AmfShapes.IApiSchemaShape): TemplateResult | string;
    /**
     * @returns The template for the array shape.
     */
    arrayShapeTemplate(schema: AmfShapes.IApiArrayShape): TemplateResult | string;
    /**
     * @returns The template for the tuple shape.
     */
    tupleShapeTemplate(schema: AmfShapes.IApiTupleShape): TemplateResult | string;
    /**
     * @returns The template for the Any shape.
     */
    anyShapeTemplate(schema: AmfShapes.IApiAnyShape): TemplateResult | string;
    /**
     * @returns The template for the Any shape.
     */
    nilShapeTemplate(schema: AmfShapes.IApiShape): TemplateResult | string;
    /**
     * @returns The template for the schema property item.
     */
    shapePropertyTemplate(schema: AmfShapes.IApiPropertyShape): TemplateResult | string;
    /**
     * @returns THe template for the line decorator in front of the property name.
     */
    propertyDecoratorTemplate(isComplex: boolean, expanded: boolean, schemaId: string): TemplateResult;
    /**
     * @returns The template for the schema property item that has no range information.
     */
    shapePropertyWithoutRangeTemplate(schema: AmfShapes.IApiPropertyShape): TemplateResult;
    propertyDescriptionTemplate(schema: AmfShapes.IApiPropertyShape): TemplateResult | string;
}
//# sourceMappingURL=ApiSchemaDocument.element.d.ts.map