import { TccDesktopToMaskService } from "../../../services/tcc-desktop-to-mask/tcc-desktop-to-mask.service";
import { TccGetBoPropertyService } from "../../../services/tcc-get-bo-property/tcc-get-bo-property.service";
import { TccGetBoProperty } from "../../../classes/tcc-get-bo-property.class";
import { TccInputMaskComponent } from "../../tcc-input-mask/tcc-input-mask.component";
import { TccET_BIZOBJ } from '../../../../odata/models/bizobj.model';
import { TccET_APPLI } from '../../../../odata/models/applications.model';
import { TccField } from "./Infinity/tcc-field";
import { TccTranslationPipe } from "../../../pipes/tcc-translation/tcc-translation.pipe";
import { TccTableField } from "./Infinity/tcc-table-field";
import { TccPosTableComponent } from "../../../../core/components/tcc-pos-table/tcc-pos-table.component";
import { Observable } from "rxjs";
import { TccSimpleNote, TccZone } from "../../../../odata/models/shared.model";
export declare namespace TccSingularityTypes {
    interface staticFields {
        Application: TccET_APPLI.Capture;
        BusinessObject: TccET_BIZOBJ.BusinessObject;
        Desktop: TccET_BIZOBJ.Desktop;
        DesktopToMaskService: TccDesktopToMaskService;
        InputMask: TccInputMaskComponent;
        Table?: TccPosTableComponent;
        Language: string;
        Version: string;
        ApplicationName: string;
        UserName: string;
    }
    interface TccCaptureApp {
        _staticReferences: staticFields;
        get Document(): TccET_APPLI.Document;
        CancelTacks(TackIds: string[]): number;
        DeleteBlob(BlobId: string): boolean;
        ChangeBlob(BlobId: string, State: number, TackId: string): boolean;
        CloseStatus(): boolean;
        CreateTack(TackId: string): boolean;
        DeleteTacks(Tacks: any): boolean;
        DisableDesktop(): any;
        EnableDesktop(): any;
        ExecuteUserExit(Field: number): boolean;
        Export(TackId: string, ShowStatus: boolean): number;
        GetBlobList(Stack: string, Selected: boolean, TackId: string): string[];
        addNoteWithoutDialog?(documentId: string, text: string, type: TccET_APPLI.HistoryType): Observable<TccSimpleNote>;
        updateNoteWithoutDialog?(documentId: string, nodeId: string, text: string, type: TccET_APPLI.HistoryType): Observable<TccSimpleNote>;
        addCustomButton?(buttonId: string, icon: string, tooltip?: string): Observable<void>;
        addCustomPosTableButton?(buttonId: string, icon: string, tooltip?: string): Observable<void>;
        removeCustomButton?(buttonId: string): void;
        removeCustomPosTableButton?(buttonId: string): void;
        setZones?(zones: {
            [propertyId: string]: TccZone;
        }): void;
    }
}
export declare class TccSingularity {
    _captureApp: TccSingularityTypes.TccCaptureApp;
    _translationPipe: TccTranslationPipe;
    _bopropservice: TccGetBoPropertyService;
    _currentfield: TccField | TccTableField;
    _scriptName: string;
    _scriptInfo: string;
    BOPropertyService: TccGetBoProperty.Handler;
    _staticReferences: TccSingularityTypes.staticFields;
    constructor(_captureApp: TccSingularityTypes.TccCaptureApp, _translationPipe: TccTranslationPipe, _bopropservice: TccGetBoPropertyService);
    AllowErrorRelease: boolean;
    AllowExecuteUserexit: boolean;
    _setCurrentField(propid: string, index?: number, isTable?: boolean): void;
    generateTccField(path: string[], property: TccGetBoProperty.PropertyTypes, index?: number, isTable?: false): TccField;
    generateTccField(path: string[], property: TccGetBoProperty.PropertyTypes, index: number, isTable: true): TccTableField;
    generateTccField(path: string[], property: TccGetBoProperty.PropertyTypes, index: number, isTable: boolean): TccField | TccTableField;
}
