import { TaskMagicService } from "./task.magics.service";
import { HtmlProperties } from "@magic-xpa/gui";
import { FormGroup } from '@angular/forms';
import { ControlsMetadata } from "../controls.metadata.model";
/**
 * Provides the UI with values calculated by the Magic WebClient
 */
export declare class AccessorMagicService {
    protected task: TaskMagicService;
    /**
     * @ignore
     */
    constructor(task: TaskMagicService);
    /**
     * Checks if the control is read-only
     * @param controlId Id of control
     * @returns Is the control not read-only
     */
    checkIsReadOnly(controlId: string): boolean;
    /**
     * Returns the text of the control
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns The text of the control
     */
    getText(controlId: string, rowId?: string): string;
    /**
     * Gets the text of the tab page
     * @param controlId Id of control
     * @param layer Id of tabpage
     * @returns Text of tabpage
     */
    getTabpageText(controlId: string, layer: number): string;
    /**
     * Gets the image defined for the control
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns Image set on control
     */
    getImage(controlId: string, rowId?: string): string;
    /**
     * Returns whether an image is set for this control
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns returns true if control has an image set on it
     */
    isImageExists(controlId: string, rowId?: string): boolean;
    /**
     * Gets the CSS classes set on the control
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns The classes for this control
     */
    getClasses(controlId: string, rowId?: string): string;
    /**
     * Gets the CSS styles set on the control
     * @param controlId Id of control
     * @param styleName NAme of style requested
     * @param rowId Id of row, if applicable
     * @returns The style set on the control
     */
    getStyle(controlId: string, styleName: string, rowId?: string): string;
    /**
     * Returns whether a control is visible or not
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns Is the control visible or hidden
     */
    getVisible(controlId: string, rowId?: string): string;
    /**
     * Returns whether a control should have the "required" attribute set on it
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns
     */
    getMustInput(controlId: string, rowId?: string): string;
    /**
     * Returns whether a control is disabled
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns
     */
    isDisabled(controlId: string, rowId?: string): any;
    /**
     * @ignore
     */
    getProperty(controlId: string, prop: HtmlProperties, rowId?: string): any;
    /**
     * Returns the title (tooltip) text of the control
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns
     */
    getTitle(controlId: string, rowId?: string): string;
    /**
     * Gets the selection control's selected value
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns
     */
    getSelectedValue(controlId: string, rowId?: string): string;
    /**
     * Gets the place-holder text of the control
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns
     */
    getPlaceholder(controlId: string, rowId?: string): string;
    /**
     * Returns a type for input controls - should the control be a simple text or a password control
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns
     */
    getType(controlId: string, rowId?: string): string;
    /**
     * Returns the tab-index of the control
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns
     */
    getTabIndex(controlId: string, rowId?: string): number;
    /**
     * Returns the value of the control
     * @param controlId Id of control
     * @param rowId Id of row, if applicable
     * @returns
     */
    getValue(controlId: string, rowId?: string): string;
    /**
     * Returns the custom (user) properties of the control
     * @param controlId Id of control
     * @param propertyName Name of requested property
     * @param rowId Id of row, if applicable
     * @returns
     */
    getCustomProperty(controlId: string, propertyName: string, rowId?: string): any;
    /**
     * Gets the values of the items of a selection control
     * @param id Id of control
     * @param rowId Id of row, if applicable
     * @returns
     */
    getItemListValues(id: string, rowId?: string): string;
    /**
   * Gets the display value of the item from items of a selection control
   * @param id Id of control
   * @param rowId Id of row, if applicable
   * @returns
   */
    getDisplayValue(id: any, rowId?: any): string;
    /**
     * Returns whether a tab page is selected or not
     * @param  index of current option in iterarotr
     * @param control Id of list control
     * @returns
     */ isOptionSelected(index: any, controlId: any): boolean;
    /**
     * Returns whether a tab page is selected or not - used for the tab buttons
     * @param controlId Id of control
     * @param  layer Id of the tab page
     * @returns
     */ isTabPageSelected(controlId: string, layer: number): boolean;
    /**
     * Returns whether a tab page layer is selected or not - used for the div which represents the tab page
     * @param controlId Id of control
     * @param  layer Id of the tab page
     * @returns
     */ isTabPageLayerSelected(controlId: string, layer: number): boolean;
    /**
     * Returns the index of the selected tab page
     * @param controlId Id of control
     * @returns
     */
    getTabSelectedIndex(controlId: string): any;
    /**
     * @ignore
     */
    ifRowCreated(row: any): boolean;
    /**
     * @ignore
     */
    getFormGroupByRow(id: string): FormGroup;
    /**
     * @ignore
     */
    isRowSelected(controlId: any, rowId?: any): boolean;
    /**
     * Returns whether a row is in edit state
     * @param row
     */
    isRowInRowEditing(row?: ControlsMetadata): boolean;
    /**
     * Returns whether a row is in edit state, use this method while control outside table control
     * @param row
     */
    isCurrentInRowEditing(): boolean;
    /**
     * @ignore
     */
    guiTopIndex(): number;
    /**
     * @ignore
     */
    getErrMsg(id: string, rowId: string): string;
    /**
     * Sets a user-supplied value to the specified control
     * @param controlName
     * @param value
     * @param refreshDisplay
     */
    setValueToControl(controlName: string, value: any, refreshDisplay?: boolean): void;
    /**
   * @ignore
   */
    isDataviewEmpty(): boolean;
    /**
     * simulates a click event on the specified control, for the Magic engine
     * @param controlName
     * @param rowId
     */
    simulateClick(controlName: string, rowId?: number): void;
    /**
     * Return Boolean TRUE if user logged in Else it will return FALSE
     */
    isLoggedIn(): boolean;
}
