import { SignRequestPrefillTag } from './signRequestPrefillTag.js';
import { SignRequestSignerInputValidation } from './signRequestSignerInputValidation.js';
import { SerializedData } from '../serialization/json.js';
export type SignRequestSignerInputTypeField = 'signature' | 'date' | 'text' | 'checkbox' | 'radio' | 'dropdown';
export type SignRequestSignerInputContentTypeField = 'signature' | 'initial' | 'stamp' | 'date' | 'checkbox' | 'text' | 'full_name' | 'first_name' | 'last_name' | 'company' | 'title' | 'email' | 'attachment' | 'radio' | 'dropdown' | string;
export type SignRequestSignerInput = SignRequestPrefillTag & {
    /**
     * Type of input. */
    readonly type?: SignRequestSignerInputTypeField;
    /**
     * Content type of input. */
    readonly contentType?: SignRequestSignerInputContentTypeField;
    /**
     * Index of page that the input is on. */
    readonly pageIndex: number;
    /**
     * Indicates whether this input is read-only (cannot be modified by signers). */
    readonly readOnly?: boolean;
    /**
     * Specifies the formatting rules that signers must follow for text field inputs.
     * If set, this validation is mandatory. */
    readonly validation?: SignRequestSignerInputValidation;
    /**
     * The reason for the signer's input, applicable to signature or initial content types
     * in a `cfr11` request flow. The value is `null` when not applicable. */
    readonly reason?: string | null;
    /**
     * Indicates whether the signer's input has been validated through re-authentication.
     * Applicable only for signature or initial content types in a `cfr11` request flow.
     * The value is `null` for standard request flows or non-applicable input types. */
    readonly isValidated?: boolean | null;
};
export declare function serializeSignRequestSignerInputTypeField(val: SignRequestSignerInputTypeField): SerializedData;
export declare function deserializeSignRequestSignerInputTypeField(val: SerializedData): SignRequestSignerInputTypeField;
export declare function serializeSignRequestSignerInputContentTypeField(val: SignRequestSignerInputContentTypeField): SerializedData;
export declare function deserializeSignRequestSignerInputContentTypeField(val: SerializedData): SignRequestSignerInputContentTypeField;
export declare function serializeSignRequestSignerInput(val: SignRequestSignerInput): SerializedData;
export declare function deserializeSignRequestSignerInput(val: SerializedData): SignRequestSignerInput;
//# sourceMappingURL=signRequestSignerInput.d.ts.map