export declare enum Placement {
    After = "After",
    Before = "Before"
}
export interface Position {
    /**
     * The key of another column to be used as placement anchor.
     */
    anchor?: string;
    /**
     * Define the placement, either before or after the anchor column.
     */
    placement: Placement;
}
export interface ViewPosition {
    /**
     * The key of another column to be used as placement anchor.
     */
    anchor?: string;
    /**
     * Define the placement, either before or after the anchor column.
     */
    placement: Placement;
}
export type Positionable = {
    /**
     *   Defines the position of the column relative to other columns.
     */
    position?: Position;
};
export interface ActionAfterExecutionConfiguration {
    /**
     * Allows you to disable the navigation. By default, navigation is automatically triggered after you have performed an action.
     */
    navigateToInstance?: boolean;
    /**
     * Allows you to scroll to the newly created or changed item after you have performed an action.
     */
    enableAutoScroll?: boolean;
}
export declare enum Availability {
    'Default' = "Default",
    'Adaptation' = "Adaptation",
    'Hidden' = "Hidden"
}
export declare enum HorizontalAlign {
    'Begin' = "Begin",
    'Center' = "Center",
    'End' = "End"
}
/**
 * Table Column
 *
 * @isViewNode true
 */
export interface TableColumn {
    /**
     * A string type that represents CSS size values.
     * Refer to https://ui5.sap.com/api/sap.ui.core.CSSSize
     */
    width?: string;
    /**
     * Defines where the column should be shown.
     * Default: it will be shown by default in the table.
     * Adaptation: it will initially not be shown in the table but be available via end user adaptation.
     * Hidden: the column is neither available in the table nor in adaptation.
     */
    availability?: Availability;
}
/**
 * Table Column
 *
 * @isViewNode true
 */
export interface ViewTableColumn {
    /**
     * A string type that represents CSS size values.
     * Refer to https://ui5.sap.com/api/sap.ui.core.CSSSize
     */
    width?: string;
    /**
     * Defines where the column should be shown.
     * Default: it will be shown by default in the table.
     * Adaptation: it will initially not be shown in the table but be available via end user adaptation.
     * Hidden: the column is neither available in the table nor in adaptation.
     */
    availability?: Availability;
}
/**
 * Table Column
 *
 * @isViewNode true
 */
export interface ObjectPageTableColumn {
    /**
     * A string type that represents CSS size values.
     * Refer to https://ui5.sap.com/api/sap.ui.core.CSSSize
     */
    width?: string;
    /**
     * Defines where the column should be shown.
     * Default: it will be shown by default in the table.
     * Adaptation: it will initially not be shown in the table but be available via end user adaptation.
     * Hidden: the column is neither available in the table nor in adaptation.
     */
    availability?: Availability;
}
/**
 * Inline Action
 *
 * @isViewNode true
 */
export interface TableColumnAction extends TableColumn {
    /**
     * Settings that control the behavior after creating a new entry.
     */
    afterExecution?: ActionAfterExecutionConfiguration;
}
/**
 * Inline Action
 *
 * @isViewNode true
 */
export interface ViewTableColumnAction extends ViewTableColumn {
    /**
     * Settings that control the behavior after creating a new entry.
     */
    afterExecution?: ActionAfterExecutionConfiguration;
}
export type ColumnPropertiesType = string[];
/**
 * Inline Action for Object Page
 *
 * @isViewNode true
 */
export interface ObjectPageTableColumnAction extends ObjectPageTableColumn {
}
/**
 * Custom Column
 *
 * @isViewNode true
 */
export interface TableCustomColumn {
    /**
     * Defines the position of the column relative to other columns.
     *
     * @artifactType Manifest
     */
    position?: Position;
    /**
     * The header is shown on the table as header, as well as in the add/remove dialog.
     *
     * @i18nClassification COL: Custom column header text
     * @artifactType Manifest
     */
    header: string;
    /**
     * A string type that represents CSS size values.
     * Refer to https://ui5.sap.com/api/sap.ui.core.CSSSize
     *
     * @artifactType Manifest
     */
    width?: string;
    /**
     * Defines a target fragment.
     *
     * @artifactType Manifest
     */
    template: string;
    /**
     * Aligns the header as well as the content horizontally.
     *
     * @artifactType Manifest
     */
    horizontalAlign?: HorizontalAlign;
    /**
     * Defines where the column should be shown.
     * - Default: it will be shown by default in the table.
     * - Adaptation: it will initially not be shown in the table but be available via end user adaptation
     * - Hidden: the column is neither available in the table nor in adaptation
     *
     * @artifactType Manifest
     */
    availability?: Availability;
    /**
     * If provided and sorting for the table is enabled, the custom column header can be clicked.
     * Once clicked, a list of properties that can be sorted by are displayed.
     *
     * @artifactType Manifest
     */
    properties?: ColumnPropertiesType;
}
/**
 * Custom Column
 *
 * @isViewNode true
 */
export interface ViewTableCustomColumn {
    /**
     * Defines the position of the column relative to other columns.
     *
     * @artifactType Manifest
     */
    position?: ViewPosition;
    /**
     * The header appears in the table as a header, as well as in the add and remove dialogs.
     *
     * @i18nClassification COL: Custom column header text
     * @artifactType Manifest
     */
    header: string;
    /**
     * A string type that represents CSS size values.
     * Refer to https://ui5.sap.com/api/sap.ui.core.CSSSize
     *
     * @artifactType Manifest
     */
    width?: string;
    /**
     * Defines a target fragment.
     *
     * @artifactType Manifest
     */
    template: string;
    /**
     * Aligns the header as well as the content horizontally.
     *
     * @artifactType Manifest
     */
    horizontalAlign?: HorizontalAlign;
    /**
     * Defines where the column should be shown.
     * - Default: it will be shown by default in the table.
     * - Adaptation: it will initially not be shown in the table but be available via end user adaptation
     * - Hidden: the column is neither available in the table nor in adaptation
     *
     * @artifactType Manifest
     */
    availability?: Availability;
    /**
     * If provided and sorting for the table is enabled, the custom column header can be clicked.
     * Once clicked, a list of properties that can be sorted by are displayed.
     *
     * @artifactType Manifest
     */
    properties?: ColumnPropertiesType;
}
//# sourceMappingURL=ManifestSettings.d.ts.map