import { Observable } from 'rxjs';
import { IOV } from './iov.model';
export interface FieldDef {
    typ: string;
    len: number;
    bez: string;
    format: string;
    ar_lst: string;
    ar_occ: string;
    cl?: any;
    iov?: {
        field: string;
        colmode?: number;
        getIOVData?: (query: string, options?: {
            bez?: boolean;
        }) => Observable<IOV[] | IOV>;
    };
    multiple?: boolean;
    validate?: number;
    mandatory?: boolean;
}
export declare class Field implements FieldDef {
    typ: string;
    len: number;
    bez: string;
    format: string;
    ar_lst: string;
    ar_occ: string;
    display?: string;
    cl?: any;
    iov?: {
        field: string;
        colmode?: number;
        getIOVData?: (query: string, options?: {
            bez?: boolean;
        }) => Observable<IOV | IOV[]>;
    };
    multiple?: boolean;
    validate?: number;
    mandatory?: boolean;
    zusdisplay?: {
        [name: string]: any;
    };
    constructor(field: Field | FieldDef);
    canRead(checkType: string, meta?: Field): boolean;
    canReadWrite(checkType: string, meta?: Field): boolean;
    displayIOVBez(): {
        field: string;
        colmode?: number;
        getIOVData?: (query: string, options?: {
            bez?: boolean;
        }) => Observable<IOV | IOV[]>;
    };
    isIOVId(): boolean;
}
