import { AttributeInfo } from '../internal/attributeInfo';
import { NodeLink } from './nodeLink';
import { StructuredDocumentTagListItem } from './structuredDocumentTagListItem';
import { XmlColor } from './xmlColor';
export declare const importsMapStructuredDocumentTagBase: {
    NodeLink: typeof NodeLink;
    StructuredDocumentTagListItem: typeof StructuredDocumentTagListItem;
    XmlColor: typeof XmlColor;
};
/**
 * DTO container with a StructuredDocumentTagBaseDto.
 */
export declare abstract class StructuredDocumentTagBase extends NodeLink {
    /**
     * Attribute type map
     */
    static attributeTypeMap: Array<AttributeInfo>;
    /**
     * Returns attribute type map
     */
    static getAttributeTypeMap(): AttributeInfo[];
    /**
     * Gets or sets Aspose.Words.Markup.SdtListItemCollection associated with this SDT.
     * Accessing this property will work only for Aspose.Words.Markup.SdtType.ComboBox or Aspose.Words.Markup.SdtType.DropDownList SDT types.
     * For all other SDT types, an exception will occur.
     */
    listItems: Array<StructuredDocumentTagListItem>;
    /**
     * Gets or sets a value indicating whether current state of the Checkbox SDT. Default value for this property.
     * Accessing this property will work only for Aspose.Words.Markup.SdtType.Checkbox SDT types.
     * For all other SDT types, an exception will occur.
     */
    checked: boolean;
    /**
     * Gets or sets the appearance of a structured document tag.
     */
    appearance: StructuredDocumentTagBase.AppearanceEnum;
    /**
     * Gets or sets the language format for the date displayed in this SDT.
     * Accessing this property will work only for Aspose.Words.Markup.SdtType.Date SDT type.
     * For all other SDT types, an exception will occur.
     */
    dateDisplayLocale: number;
    /**
     * Gets or sets String that represents the format in which dates are displayed. Can not be null. The dates for English (U.S.) is "mm/dd/yyyy".
     * Accessing this property will work only for Aspose.Words.Markup.SdtType.Date SDT type.
     * For all other SDT types, an exception will occur.
     */
    dateDisplayFormat: string;
    /**
     * Gets or sets the full date and time last entered into this SDT.
     * Accessing this property will work only for Aspose.Words.Markup.SdtType.Date SDT type.
     * For all other SDT types, an exception will occur.
     */
    fullDate: Date;
    /**
     * Gets or sets the friendly name associated with this SDT. Can not be null.
     */
    title: string;
    /**
     * Gets or sets format in which the date for a date SDT is stored when the SDT is bound to an XML node in the document's data store.
     * The default value is Aspose.Words.Markup.SdtDateStorageFormat.DateTime.
     * Accessing this property will work only for Aspose.Words.Markup.SdtType.Date SDT type.
     * For all other SDT types, an exception will occur.
     */
    dateStorageFormat: StructuredDocumentTagBase.DateStorageFormatEnum;
    /**
     * Gets or sets type of building block for this SDT. Can not be null.
     * Accessing this property will work only for Aspose.Words.Markup.SdtType.BuildingBlockGallery and Aspose.Words.Markup.SdtType.DocPartObj SDT types.
     * It is read-only for SDT of the document part type.
     * For all other SDT types, an exception will occur.
     */
    buildingBlockGallery: string;
    /**
     * Gets or sets category of building block for this SDT node. Can not be null.
     * Accessing this property will work only for Aspose.Words.Markup.SdtType.BuildingBlockGallery and Aspose.Words.Markup.SdtType.DocPartObj SDT types.
     * It is read-only for SDT of the document part type. For all other SDT types, an exception will occur.
     */
    buildingBlockCategory: string;
    /**
     * Gets or sets a value indicating whether this SDT allows multiple lines of text.
     * Accessing this property will work only for Aspose.Words.Markup.SdtType.RichText and Aspose.Words.Markup.SdtType.PlainText SDT type.
     * For all other SDT types, an exception will occur.
     */
    multiline: boolean;
    /**
     * Gets or sets the color of the structured document tag.
     */
    color: XmlColor;
    /**
     * Gets or sets the name of the style applied to the structured document tag.
     */
    styleName: string;
    /**
     * Gets or sets the type of calendar for this SDT. Default is Aspose.Words.Markup.SdtCalendarType.Default.
     * Accessing this property will work only for Aspose.Words.Markup.SdtType.Date SDT type.
     * For all other SDT types, an exception will occur.
     */
    calendarType: StructuredDocumentTagBase.CalendarTypeEnum;
    /**
     * Gets or sets a value indicating whether this SDT shall be removed from the WordProcessingML document when its contents are modified.
     */
    isTemporary: boolean;
    /**
     * Gets or sets Name of the Aspose.Words.BuildingBlocks.BuildingBlock containing placeholder text.
     * Aspose.Words.BuildingBlocks.BuildingBlock with this name Aspose.Words.BuildingBlocks.BuildingBlock.Name has to be present in the Aspose.Words.Document.GlossaryDocument otherwise System.InvalidOperationException will occur.
     */
    placeholderName: string;
    /**
     * Gets or sets a value indicating whether, this property will prohibit a user from deleting this SDT.
     */
    lockContentControl: boolean;
    /**
     * Gets or sets a value indicating whether, this property will prohibit a user from editing the contents of this SDT.
     */
    lockContents: boolean;
    /**
     * Gets or sets a value indicating whether the content of this SDT shall be interpreted to contain placeholder text (as opposed to regular text contents within the SDT).
     * If set to true, this state shall be resumed (showing placeholder text) upon opening his document.
     */
    isShowingPlaceholderText: boolean;
    /**
     * Gets or sets a tag associated with the current SDT node. Can not be null.
     * A tag is an arbitrary string which applications can associate with SDT in order to identify it without providing a visible friendly name.
     */
    tag: string;
    /**
     * Gets or sets a unique read-only persistent numerical Id for this SDT.
     * Id attribute shall follow these rules:
     * - The document shall retain SDT ids only if the whole document is cloned Aspose.Words.Document.Clone.
     * - During Aspose.Words.DocumentBase.ImportNode(Aspose.Words.Node,System.Boolean)
     * - Id shall be retained if import does not cause conflicts with other SDT Ids in the target document.
     * - If multiple SDT nodes specify the same decimal number value for the Id attribute, then the first SDT in the document shall maintain this original Id, and all subsequent
     * - SDT nodes shall have new identifiers assigned to them when the document is loaded.
     * - During standalone SDT Aspose.Words.Markup.StructuredDocumentTag.Clone(System.Boolean,Aspose.Words.INodeCloningListener) operation new unique ID will be generated for the cloned SDT node.
     * - If Id is not specified in the source document, then the SDT node shall have a new unique identifier assigned to it when the document is loaded.
     */
    id: number;
    /**
     * Gets a string that represents the XML contained within the node in the Aspose.Words.SaveFormat.FlatOpc format.
     */
    wordOpenXML: string;
    constructor(init?: Partial<StructuredDocumentTagBase>);
    collectFilesContent(_resultFilesContent: Array<any>): void;
    validate(): void;
}
/**
 * Enums for StructuredDocumentTagBase
 */
export declare namespace StructuredDocumentTagBase {
    enum AppearanceEnum {
        BoundingBox,
        Default,
        Tags,
        Hidden
    }
    enum DateStorageFormatEnum {
        Date,
        DateTime,
        Default,
        Text
    }
    enum CalendarTypeEnum {
        Default,
        Gregorian,
        GregorianArabic,
        GregorianMeFrench,
        GregorianUs,
        GregorianXlitEnglish,
        GregorianXlitFrench,
        Hebrew,
        Hijri,
        Japan,
        Korea,
        None,
        Saka,
        Taiwan,
        Thai
    }
}
