import { RadioGroupModel } from "@genexus/chameleon-controls-library";
import { FormSubmitResult } from "../../../components";
import { ControlValidation } from "../../../common/form-validation";
export declare class GxIdeBringAllChangesSelector {
    #private;
    el: HTMLGxIdeTeamDevBringAllChangesSelectorElement;
    /**
     * Date from which the commits will be merged
     */
    sinceCommitDate: Date | undefined;
    /**
     * Number from which the commits will be merged
     */
    sinceCommitNumber: number | undefined;
    /**
     * The selected option from the radio group.
     */
    selectedOption: MergeActionTaken;
    /**
     * Model for the radio group.
     */
    radioGroupModel: RadioGroupModel;
    /**
     * Map of validatable controls in the form.
     */
    validatableControls: Map<string, ControlValidation>;
    /**
     * Callback that must be invoked when the 'Cancel' button is pressed.
     */
    readonly cancelCallback: () => Promise<void>;
    /**
     * Callback that must be invoked when the 'Confirm' button is pressed.
     */
    readonly confirmCallback: (selectedMergeActionData: SelectedMergeActionData) => Promise<FormSubmitResult>;
    componentWillLoad(): Promise<void>;
    componentDidRender(): void;
    render(): any;
}
export type SelectedMergeActionData = {
    operationType: MergeActionTaken;
    fromDate?: Date;
    fromRevision?: number;
};
export type MergeActionTaken = "fromCommitDate" | "fromCommitNumber";
export type LastDates = "lastSevenDays" | "lastThirtyDays" | "lastNinetyDays";
