import { TccKeyValuePair, TccPrimitiveValue } from "../../../../../odata/models/shared.model";
import { TccClientClassBase } from "./tcc-client-class-base";
import { TccField } from "../Infinity/tcc-field";
import { TccSingularity } from "../tcc-singularity";
export declare class TccClientFields extends TccClientClassBase {
    private fieldCache;
    constructor(singularity: TccSingularity);
    private getField;
    /**
     * Gibt die Anzahl der Felder in der Indexierungsmaske zurück – inkl. unsichtbarer Felder.
     */
    get Count(): number;
    /**
     * Gibt den technischen Namen des aktiven Feldes zurück.
     */
    get Focused(): TccField;
    /**
     * Setzt den Fokus auf das angegebene Feld.
     */
    set Focused(fieldName: string);
    /**
     * Setzt den Fokus auf das angegebene Feld.
     */
    setFocused(fieldName: string, index?: number): void;
    /**
     * AddToSelectionList fügt einen neuen Listeneintrag in die Auswahlliste des angegebenen Feldes ein. Field ist dabei entweder die Id oder der technische Name des Feldes. Das in Field angegebene Feld muss vom Typ „Combobox“ sein.
     * ++
     * @param {string}  field - fieldpath
     * @param {string}  value - selectionoption to add
     * @param {number}  index - index of the field in its collection
     * @returns {boolean} - success
    */
    AddToSelectionList(field: string, value: string, index?: number): boolean;
    /**
     * AddToSelectionListExt fügt einen neuen Listeneintrag, inkl. internem Meaning, in die Auswahlliste des angegebenen Feldes ein. Field ist dabei entweder die Id oder der technische Name des Feldes. Das in Field angegebene Feld muss vom Typ „Combobox“ sein.
     * @param {string}  field - fieldpath
     * @param {string}  value - selectionoption to add
     * @param {string}  meaning - selectionoption meaning to add
     * @param {number}  index - index of the field in its collection
     * @returns {boolean} - success
    */
    AddToSelectionListExt(field: string, value: string, meaning: string, index?: number): boolean;
    /**
     * ClearSelectionList löscht den Inhalt der Auswahlliste im angegebenen Feld. Field ist dabei entweder die Id oder der technische Name des Feldes. Das in Field angegebene Feld muss vom Typ „Combobox“ sein.
     * ++
     * @param {string}  field - fieldpath
     * @param {number}  index - index of the field in its collection
     * @returns {boolean} - success
    */
    ClearSelectionList(field: string, index?: number): boolean;
    /**
     * Die Funktion Exists prüft ob das angegebene Feld im Schema vorhanden ist. Im Ergebnis wird true oder false zurückgegeben. Field ist dabei entweder die Id oder der technische Name des Feldes.
     * @param {string}  field - fieldpath
     * @param {number}  index - index of the field in its collection
     * @returns {boolean} - success
    */
    Exists(field: string): boolean;
    /**
     * GetConfidence liefert den „Vertrauenswert“ des Feldes zurück. Der Wert liegt zwischen 0 und 100 Field ist dabei entweder die Id oder der technische Name des Feldes. Der Vertrauenswert entsteht i.d.R. bei einer vorherigen Belegerkennung / OCR.
     * @param {string}  field - fieldpath
     * @param {number}  index - index of the field in its collection
     * @returns {number} - confidence value
    */
    GetConfidence(field: string, index?: number): number;
    /**
     * GetDisplayText gibt den Anzeigetext des in Field angegebenen Feldes in der aktuellen Anmeldesprache zurück. Field ist dabei entweder die Id oder der technische Name des Feldes.
     * @param {string}  field - fieldpath
     * @param {number}  index - index of the field in its collection
     * @returns {string} - display text
    */
    GetDisplayText(field: string, index?: number): string;
    /**
     * GetLastValue gibt den zuletzt eingegebenen Inhalt des in Field angegebenen Feldes zurück. Field ist dabei entweder die ID oder der technische Name des Feldes. Das Ergebnis wird im entsprechenden Typ des Feldes zurück geliefert. Also zum Beispiel ein Wert vom Typ „Datum“. „Float“ oder „WideString“.
     * @param {string}  field - fieldpath
     * @param {number}  index - index of the field in its collection
     * @returns {TccPrimitiveValue} - last value
    */
    GetLastValue(field: string, index?: number): TccPrimitiveValue;
    /**
     * GetName ermittelt den technischen Namen des in FieldIndex angegebenen Feldes. Liegt der FieldIndex außerhalb des gültigen Bereichs ist das Ergebnis leer.
     * @param {number}  fieldIndex - fieldindex
     * @returns {string} - fieldpath
    */
    GetName(fieldIndex: number): string;
    /**
     * GetPropertyValue liefert den Eigenschaftswert von Property des Feldes Fields zurück. Field ist dabei entweder die Id oder der technische Name des Feldes.
     * @param {string}  field - fieldpath
     * @param {string}  property - propertyname
     * @param {number}  index - index of the field in its collection
     * @returns {any} - property value
    */
    GetPropertyValue(field: string, property: "name" | "enabled" | "visible" | "mandatory", index?: number): any;
    /**
     * GetRawValue gibt den nicht aufbereiteten Inhalt des in Field angegebenen Feldes als WideString zurück. Field ist dabei entweder die Id oder der technische Name des Feldes.
     * @param {string}  field - fieldpath
     * @param {number}  index - index of the field in its collection
     * @returns {string} - raw value
    */
    GetRawValue(field: string, index?: number): string;
    /**
     * GetSelectionList gibt die Auswahlliste des angegebenen Feldes zurück. Field ist dabei entweder die Id oder der technische Name des Feldes. Über GetDisplayText kann entweder der Anzeigename oder das entsprechende Meaning der Listeneinträge in der aktuellen Sprache ermittelt werden. Bei GetFromUI = True werden direkt die Werte aus der Anwenderoberfläche entnommen. Das in Field angegebene Feld muss vom Typ „Combobox“ sein.
     * @param {string}  field - fieldpath
     * @param {boolean}  getDisplayText - getDisplayText
     * @param {boolean}  getFromUI - getFromUI
     * @param {number}  index - index of the field in its collection
     * @returns {TccKeyValuePair[]} - Selectionlist
    */
    GetSelectionList(field: string, getDisplayText: boolean, getFromUI: boolean, index?: number): TccKeyValuePair[];
    /**
     * GetValue gibt den Inhalt des in Field angegebenen Feldes zurück. Field ist dabei entweder die Id oder der technische Name des Feldes. Das Ergebnis wird im entsprechenden Typ des Feldes zurückgeliefert. Also zum Beispiel ein Wert vom Typ „Datum“. „Float“ oder „WideString“.
     * ++
     * @param {string}  field - fieldpath
     * @param {number}  index - index of the field in its collection
     * @returns {TccPrimitiveValue} - typed value
    */
    GetValue(field: string, index?: number): TccPrimitiveValue;
    /**
     * SetConfidence setzt den „Vertrauenswert“ des angegebenen Feldes. Confidence liegt zwischen 0 und 100. Field ist dabei entweder die Id oder der technische Name des Feldes. Der Confidence Wert kann auch in einer nachgelagerten WARP Verarbeitung ausgewertet werden.
     * @param {string}  field - fieldpath
     * @param {number}  confidence - confidence value to set
     * @param {number}  index - index of the field in its collection
     * @returns {boolean} - success
    */
    SetConfidence(field: string, confidence: number, index?: number): boolean;
    /**
     * SetDisplayText setzt den Anzeigetext des in Field angegebenen Feldes.
     * ++
     * @param {string}  field - fieldpath
     * @param {string}  text - new display
     * @param {number}  index - index of the field in its collection
     * @returns {boolean} - success
    */
    SetDisplayText(field: string, text: string, index?: number): boolean;
    /**
     * SetLastValue setzt den zuletzt angegebenen Inhalt des angegeben Feldes. Field ist dabei entweder die Id oder der technische Name des Feldes.
     * @param {string}  field - fieldpath
     * @param {TccPrimitiveValue}  value - last value to set
     * @param {number}  index - index of the field in its collection
     * @returns {boolean} - success
    */
    SetLastValue(field: string, value: TccPrimitiveValue, index?: number): boolean;
    /**
     * SetProperties setzt die Eigenschaften Enabled und Visible des angegebenen Feldes. Field ist dabei entweder die Id oder der technische Name des Feldes.
     * @param {string}  field - fieldpath
     * @param {boolean}  enabled - enabled property
     * @param {boolean}  visible - visible property
     * @param {number}  index - index of the field in its collection
     * @returns {boolean} - success
    */
    SetProperties(field: string, enabled: boolean, visible: boolean, index?: number): boolean;
    /**
     * SetState setzt das Feld auf einen der vier verfügbaren Status (TccFieldState). Field ist dabei entweder die Id oder der technische Name des Feldes. Der Benutzer sieht die angegebene Meldung beim Betreten des entsprechenden Indexfelds.
     * @param {string}  field - fieldpath
     * @param {any}  state - field state
     * @param {string}  message - message
     * @param {number}  index - index of the field in its collection
     * @returns {boolean} - success
    */
    SetState(field: string, state: any, message: string, index?: number): boolean;
    /**
     * SetValue setzt den Inhalt des angegeben Feldes. Field ist dabei entweder die Id oder der technische Name des Feldes. Der Wert muss dabei im entsprechenden Typ des Zielfeldes übergeben werden. Ansonsten wird versucht eine automatische Typumwandlung vorzunehmen.
     * ++
     * @param {string}  field - fieldpath
     * @param {TccPrimitiveValue}  value - value
     * @param {number}  index - index of the field in its collection
     * @returns {boolean} - success
    */
    SetValue(field: string, value: TccPrimitiveValue, index?: number): boolean;
    /**
     * Fügt einem Feld einen IconButton hinzu. Kann nur bei InputFeldern aufgerufen werden.
     * @param field fieldpath
     * @param icon Icon des IconButtons. Akzeptiert Angular Material Button strings. Beispiel: Material Icon "info" -> "mat_info"
     * @param tooltip Tooltip der angezeigt wird, wenn über den IconButton gehovert wird.
     * @returns Gibt ein Observable zurück, das bei jedem Klick auf den Button emittet.
     */
    AddInputElementButton(field: string, icon: string, tooltip?: string): import("rxjs").Observable<import("../../../..").TccInputMask.eventTrigger>;
    /**
     * Löscht den IconButton eines Feldes. Kann nur bei InputFeldern aufgerufen werden.
     * @param field fieldpath
     */
    DeleteInputElementButton(field: string): void;
    /**
     * Macht das Feld unsichtbar.
     * @param field fieldpath
     */
    Hide(field: string): void;
    /**
     * Macht das Feld sichtbar.
     * @param field fieldpath
     */
    Show(field: string): void;
}
