import { Doc } from '../view/Doc';
import { FieldPermissionInfo } from '../../sdk/types';
export type WidgetDisplayStatus = 'readonly-component' | 'edit-component' | 'readonly-text';
export interface WidgetStateContext {
    doc: Doc;
    viewState?: string;
    required?: boolean;
    newRequired?: boolean;
    readonly?: boolean;
    newReadonly?: boolean;
    disabled?: boolean;
    newDisabled?: boolean;
    cannotInput?: boolean;
    isLinkedModelField?: boolean;
    fieldLink: string;
    modelLink: string;
}
interface ResolveDisplayStatusFromAuthOptions {
    info?: FieldPermissionInfo;
    readonlyString: WidgetDisplayStatus;
    editString: WidgetDisplayStatus;
}
export declare function resolveDisplayStatusFromAuth(options: ResolveDisplayStatusFromAuthOptions): WidgetDisplayStatus | null;
export declare function resolveWidgetState(ctx: WidgetStateContext): {
    required: boolean;
    readonly: boolean;
    disabled: boolean;
    displayStatus: WidgetDisplayStatus;
};
export {};
