import { GS } from './GS.js'; interface WrapperConstructor { new (...args: any[]): WrapperGS; } interface WrapperTagClassedConstructor { new (...args: any[]): WrapperGS; readonly TagClassName: string; } interface WrapperHTMLElementedConstructor { new (...args: any[]): WrapperGS; ForHTMLElement(el: HTMLElement): boolean; } interface WrapperDelegate { (wr: WrapperGS): void; } export declare enum WrapperInitModeGSEnum { Wrap = 0, CloneElement = 1, Adopt = 2 } /**Used for getting and setting data in FormsGS */ export interface Valued { value: any; } /**Used for getting and setting data in FormsGS */ export interface WrapperValued extends WrapperGS, Valued { } /**Used for getting and setting data in FormsGS */ export interface WrapperAsyncValued extends WrapperGS { setValueAsync(value: any): Promise; getValueAsync(): Promise; } export interface WrapperAsyncValidable extends WrapperGS { validAsync(rule: string, ruleArgs: string): Promise; } export interface WrapperValidable extends WrapperGS { valid(rule: string, ruleArgs: string): string | boolean; } export declare class WrapperGS { private static readonly _htmlNamespace; static ClassNameTemplate: string; static AttrGSTargetShow: string; static AttrGSTargetActive: string; static readonly ClassNameHide = "d-none"; static readonly ClassNameActive = "active"; static readonly ClassNameDisabled = "disabled"; static ToValued(wr: WrapperGS): WrapperValued | undefined; static ToAsyncValued(wr: WrapperGS): WrapperAsyncValued | undefined; static ToValidable(wr: WrapperGS): WrapperValidable | undefined; static ToAsyncValidable(wr: WrapperGS): WrapperAsyncValidable | undefined; static InjectComponents(component: WrapperConstructor, fullNameForTmplFile: string): void; static ReInjectComponents(fullNameForTmplFile: string): void; static GetInjectedComponentConstructor(fullNameForTmplFile: string): WrapperConstructor | undefined; private static _ExtendComponentsByTagClass; static ExtendComponentsByTagClass(component: WrapperTagClassedConstructor): void; /**Return all tagClasses which extends components */ static GetExtendComponentsTagClasses(): string[]; private static _ExtendComponentsByHTMLElement; static ExtendComponentsByHTMLElement(...components: WrapperHTMLElementedConstructor[]): void; static ReduceComponentsByHTMLElement(component: WrapperHTMLElementedConstructor): void; private static _ImplementWrapperByGSA; /** * Call linked function for each wrapper who has specific dataArg * @param dataArg * @param func (wr:Wrapper affected, rootWr:Wrapper of template) */ static ImplementWrapperByGSA(gsa: string, func: WrapperDelegate): void; private static _ImplementWrapperByClassArg; /** * Call linked function for each wrapper who has specific dataArg * @param dataArg * @param func (wr:Wrapper affected, rootWr:Wrapper of template) */ static ImplementWrapperByClassArg(classArg: string, func: WrapperDelegate): void; static get NameOfInstInPropOfEl(): string; static IsWrapper(el: unknown): el is WrapperGS; private static isHTMLElement; /** * Wrap element in WrapperGs * Происходит вокруг уже существующего элемента, поэтому мы можем инжектировать другие компоненты в отличии от конструктора * Где инжектировать нельзя кроме как через наследование * @param el */ static Wrap(el: WrapperGS): WrapperGS; static Wrap(el: HTMLElement): WrapperGS; static Wrap(el: unknown): WrapperGS | undefined; protected _controls?: Map; getControl(name: string): WrapperGS | undefined; readonly el: T; constructor(elOrTmplName: T | string, mode?: boolean | WrapperInitModeGSEnum); private _fillTmpl; private _adoptTmpl; q(selector: any): GS; hasClass(className: string): boolean; addClass(className: string): void; addClasses(classesNames: string[]): void; removeClass(className: string): void; flipClass(className: string): void; private getElement; /**Add after this wrapper*/ after(el: WrapperGS | Element): void; /**Add before this wrapper*/ before(el: WrapperGS | Element): void; /**Add to start of childrens*/ prepend(el: WrapperGS | Element): void; /**Add to end of childrens*/ append(el: WrapperGS | Element): void; /**Remove this wrapper */ cut(): void; /** * Replace this wrapper by another * @param {WrapperGS} w */ replace(by: WrapperGS | Element): void; get isEnabled(): boolean; disable(): void; enable(): void; enableFlip(): void; enableSet(value: boolean): void; get isShowed(): boolean; hide(): void; show(): void; showFlip(): void; showSet(value: boolean): void; get isActive(): boolean; inactive(): void; active(): void; activeFlip(): void; activeSet(value: boolean): void; private _searchGSTarget; private _actionOnTarget; scrollTo(): void; get text(): string; set text(value: string); get html(): string; set html(value: string); attr(name: string): string | null; attr(name: string, value: string | null): void; attrRemove(name: string): void; /** * Return obj this attrs * */ getAttrsObj(): Map; getData(name: string): string; removeData(name: string): void; setData(name: string, value: string): void; getGSA(name: string): string; removeGSA(name: string): void; setGSA(name: string, value: string): void; /**Get children without deep */ getChildren(): WrapperGS[]; /**Get all children include children of children*/ getAllChildren(): WrapperGS[]; set onclick(value: ((this: GlobalEventHandlers, ev: MouseEvent) => any)); } export {};