import { Doc } from '../view/Doc';
import { FieldPermissionInfo } from '../../sdk/types';
import { WidgetMeta } from './widget-meta';
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;
/**
 * 填报模式下字段是否因只读/禁用而不可激活（与 InteractionPolicy 对组件的判定一致）
 */
export declare function isWidgetMetaInteractionBlockedInFillMode(doc: Doc, widgetMeta: WidgetMeta | undefined | null): boolean;
export declare function resolveWidgetState(ctx: WidgetStateContext): {
    required: boolean;
    readonly: boolean;
    disabled: boolean;
    displayStatus: WidgetDisplayStatus;
};
export {};
