import { ComboBoxModel } from "@genexus/chameleon-controls-library";
import { GxOption, ObjectType } from "../../../../common/types";
import type { StateForFilter, StatusInternal, MessageData, ModifiedObjectData, CommitData, CommitCallback, ContextMenuCallback, LoadLocalChangesCallback, PendingItemsCheckedCallback, SelectCallback, ServerDetails } from "../common/types";
export declare class GxIdeTeamDevCommit {
    #private;
    el: HTMLGxIdeTeamDevCommitElement;
    /**
     * A boolean that indicates if all the pending objects, have been committed
     * already.
     */
    allPendingAreCommitted: boolean;
    /**
     * A set that holds the id's of the objects that have been committed already.
     */
    alreadyCommittedObjectsIdsSet: Set<string>;
    alreadyCommittedObjectsIdsSetChanged(newCommittedObjectsIdsSet: Set<string>): void;
    /**
     * A set that holds the ids of all the ignored objects. Used to quickly
     * determine if the selected rows belong to "ignored" or not. This
     * information is required for the ContextMenuCallback. This set
     * has to be updated on every loadCallback.
     */
    ignoredIdsSet: Set<string>;
    /**
     * A set that holds the id's of all the pending objects. Used to quickly
     * determine if the selected rows belong to "pending" or "ignored". This
     * information is required for the ContextMenuCallback. This set
     * has to be updated after every loadCallback.
     */
    pendingIdsSet: Set<string>;
    /**
     * A set that stores the marked state of each row. This is
     * required because filtering the grid causes marked cells to lose
     * their marked state.
     */
    markedObjectsSet: Set<string>;
    markedObjectsSetChanged(newMarkedObjectsSet: Set<string>): void;
    /**
     * A map that holds the current state of every row ("inserted" |
     * "modified" | "modified-with-conflicts" | "deleted" | "updating" |
     * "update")
     */
    objectsStatusMap: Map<string, StatusInternal>;
    objectsStatusMapChanged(newObjectsStatusMap: Map<string, StatusInternal>): void;
    /**
     * A map that holds object messages, after trying to commit ('info' |
     * 'success' | 'warning' | 'error')
     */
    objectsMessagesDataMap: Map<string, MessageData[]>;
    /**
     * It holds a boolean indicating if at least one object from the
     * tabular-grid is checked, for merging.
     */
    atLeastOneObjectIsChecked: boolean;
    /**
     * A boolean to indicate if the comments input has error or not.
     */
    commentInputHasError: boolean;
    /**
     * Set to true when objects are being committed. This helps disabling
     * controls until all objects are done.
     */
    committing: boolean;
    /**
     * Hides or shows the filter secondary controls
     */
    filterSecondaryIsHidden: boolean;
    /**
     * Indicates if any of the filter secondary controls have a condition
     * (have a value other than default "All"). This changes the filter
     * toggle button icon, from "filter" to "filterWithConditions".
     */
    filterSecondaryHasConditions: boolean;
    /**
     * Used to display a loader. Set to true when loadCallback is called.
     */
    loading: boolean;
    /**
     * changeset options as ComboBoxModel
     */
    changesetsComboBoxModel: ComboBoxModel;
    /**
     * categories options as ComboBoxModel
     */
    /**
     * Pending objects after "action" filter
     */
    pendingObjectsAfterFilter: ModifiedObjectData[];
    /**
     * Ignored objects after "action" filter
     */
    ignoredObjectsAfterFilter: ModifiedObjectData[];
    /**
     * The ComboBoxModel for "Types" filter.
     */
    typesComboBoxModel: ComboBoxModel;
    /**
     * All objects ("pending for update" and "ignored objects") before
     * "state" filter
     */
    pendingAndIgnored: CommitData;
    pendingAndIgnoredChanged(newPendingAndIgnored: CommitData): void;
    /**
     * Holds the current value for the commit "comments"
     */
    commentsValue: string;
    /**
     * The current search filter value.
     */
    searchValue: string;
    /**
     * Holds the current value for the "type" filter
     */
    selectedType: string;
    /**
     * Holds the current value for the "local state" filter
     */
    selectedState: StateForFilter;
    /**
     * Holds the current value for the "changeset" filter
     */
    selectedChangeset: string;
    /**
     * Holds the current value for the "folder" filter
     */
    selectedFolder: string;
    /**
     * Holds the current value for the "category" filter
     */
    selectedCategory: string;
    /**
     * folder options as ComboBoxModel
     */
    foldersComboBoxModel: ComboBoxModel;
    /**
     * Indicates if the commit button should be disabled
     */
    isCommitDisabled: boolean;
    /**
     * Invoked when user starts the commit process
     */
    readonly commitCallback: CommitCallback;
    /**
     * Invoked when user activates the context menu on any of the grids.
     */
    readonly objectsContextMenuCallback: ContextMenuCallback;
    /**
     * Invoked to return the list of local changes
     */
    readonly loadCallback: LoadLocalChangesCallback;
    /**
     * Invoked when user clicks in server url of Update From group.
     */
    readonly openServerCallback: () => Promise<void>;
    /**
     * Invoked to return information of a Font type of data.
     */
    readonly pendingItemsCheckedCallback: PendingItemsCheckedCallback;
    /**
     * Invoked when the user selects rows from the grid
     */
    readonly selectCallback: SelectCallback;
    /**
     * "types" options for the filter.
     */
    readonly types: ObjectType[];
    typesChanged(newTypes: ObjectType[]): void;
    /**
     * "changeset" options for the filter.
     */
    readonly changeset: GxOption[];
    changesetChanged(newChangesetOptions: GxOption[]): void;
    /**
     * "folder" options for the filter.
     */
    readonly folders: GxOption[];
    folderChanged(newFolderOptions: GxOption[]): void;
    /**
     * "category" options for the filter.
     */
    /**
     * If true, the "Action" column will display a button instead of a pill,
     * only when the action is
     */
    readonly updatePillAsButton: boolean;
    /**
     * Information to show in Update From group.
     */
    readonly serverDetails: ServerDetails;
    componentWillLoad(): Promise<void>;
    componentDidLoad(): Promise<void>;
    /**
     * Used by the host to instruct the component to force a data reload in the grids.
     */
    reload(): Promise<void>;
    /**
     * Used by the host to instruct the component to disable the commit button.
     */
    disableCommit(value: boolean): Promise<void>;
    render(): any;
}
