import { Color } from '@bedard/hexchess'; import { Component } from 'vue'; import { ComponentOptionsMixin } from 'vue'; import { ComponentProvideOptions } from 'vue'; import { DefineComponent } from 'vue'; import { Hexchess } from '@bedard/hexchess'; import { PublicProps } from 'vue'; import { RendererElement } from 'vue'; import { RendererNode } from 'vue'; import { San } from '@bedard/hexchess'; import { VNode } from 'vue'; declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, { clickPosition: (position: number) => any; dragendPosition: (position: number) => any; dragstartPosition: (position: number) => any; move: (san: San) => any; "update:mouseover-position": (value: number | null) => any; "update:selected": (value: number | null) => any; "update:targets": (value: number[]) => any; }, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{ onClickPosition?: ((position: number) => any) | undefined; onDragendPosition?: ((position: number) => any) | undefined; onDragstartPosition?: ((position: number) => any) | undefined; onMove?: ((san: San) => any) | undefined; "onUpdate:mouseover-position"?: ((value: number | null) => any) | undefined; "onUpdate:selected"?: ((value: number | null) => any) | undefined; "onUpdate:targets"?: ((value: number[]) => any) | undefined; }>, { active: boolean; autoselect: boolean; flipped: boolean; hexchess: Hexchess; highlight: number[]; ignoreTurn: boolean; options: Partial; pieces: Component; playing: Color | boolean; position: string; }, {}, {}, {}, string, ComponentProvideOptions, false, { svgEl: SVGSVGElement; selectedEl: SVGPathElement; }, HTMLDivElement>; declare type __VLS_Props = { active?: boolean; autoselect?: boolean; flipped?: boolean; hexchess?: Hexchess; highlight?: number[]; ignoreTurn?: boolean; options?: Partial; pieces?: Component; playing?: Color | boolean; position?: string; }; declare type __VLS_PublicProps = { 'mouseover-position'?: number | null; 'selected'?: number | null; 'targets'?: number[]; } & __VLS_Props; declare function __VLS_template(): { attrs: Partial<{}>; slots: { promotion?(_: { b: (attrs: Record) => VNode; cancel: typeof cancelPromotion; file: string; n: (attrs: Record) => VNode; promote: typeof promote; q: (attrs: Record) => VNode; r: (attrs: Record) => VNode; rank: number; }): any; }; refs: { svgEl: SVGSVGElement; selectedEl: SVGPathElement; }; rootEl: HTMLDivElement; }; declare type __VLS_TemplateResult = ReturnType; declare type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; }; /** cancel promotion and restore original selection */ declare function cancelPromotion(): void; export declare const defaultOptions: HexboardOptions; export declare const Hexboard: __VLS_WithTemplateSlots; /** hexboard options */ export declare interface HexboardOptions { /** position colors */ colors: [string, string, string]; /** color of highlighted position */ highlightColor: string; /** color of active label relative to mouseover */ labelActiveColor: string; /** label color */ labelColor: string; /** fill color of inactive label relative to mouseover */ labelInactiveColor: string; /** show labels */ labels: boolean; /** color of target circles */ targetColor: string; /** color of selected position */ selectedColor: string; } /** promote piece */ declare function promote(promotion: 'n' | 'b' | 'r' | 'q'): void; export { }