/*
 * Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3 as published by
 * the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import { SiteState } from '../../models/Site';
import { EnhancedDialogProps } from '../EnhancedDialog';
import { onSubmittingAndOrPendingChangeProps } from '../../hooks/useEnhancedDialogState';
import React from 'react';
interface NewRemoteRepositoryBaseProps {}
export interface NewRemoteRepositoryDialogProps extends NewRemoteRepositoryBaseProps, EnhancedDialogProps {
  onCreateSuccess?(): void;
  onCreateError?(e: any): void;
  onSubmittingAndOrPendingChange(value: onSubmittingAndOrPendingChangeProps): void;
}
export interface NewRemoteRepositoryDialogContainerProps
  extends NewRemoteRepositoryBaseProps,
    Pick<
      NewRemoteRepositoryDialogProps,
      'isSubmitting' | 'onClose' | 'onSubmittingAndOrPendingChange' | 'onCreateError' | 'onCreateSuccess'
    > {}
export interface NewRemoteRepositoryDialogUIProps {
  inputs: Partial<SiteState>;
  isSubmitting: boolean;
  isValid: boolean;
  setInputs(inputs: any): void;
  onCloseButtonClick(e: React.MouseEvent<HTMLButtonElement, MouseEvent>): void;
  onCreate(): void;
}
export declare const inputsInitialState: {
  authenticationType: string;
  expanded: {
    basic: boolean;
    token: boolean;
    key: boolean;
  };
  repoAuthentication: string;
  repoUsername: string;
  repoToken: string;
  repoPassword: string;
  repoKey: string;
  remoteName: string;
  remoteUrl: string;
  submitted: boolean;
};
export declare const isFormValid: (inputs: any) => boolean;
export {};
