import {
  HttpHandlerOptions as __HttpHandlerOptions,
  PaginationConfiguration,
  Paginator,
} from "@smithy/types";
import { AccountClient } from "./AccountClient";
import {
  AcceptPrimaryEmailUpdateCommandInput,
  AcceptPrimaryEmailUpdateCommandOutput,
} from "./commands/AcceptPrimaryEmailUpdateCommand";
import {
  DeleteAlternateContactCommandInput,
  DeleteAlternateContactCommandOutput,
} from "./commands/DeleteAlternateContactCommand";
import {
  DisableRegionCommandInput,
  DisableRegionCommandOutput,
} from "./commands/DisableRegionCommand";
import {
  EnableRegionCommandInput,
  EnableRegionCommandOutput,
} from "./commands/EnableRegionCommand";
import {
  GetAccountInformationCommandInput,
  GetAccountInformationCommandOutput,
} from "./commands/GetAccountInformationCommand";
import {
  GetAlternateContactCommandInput,
  GetAlternateContactCommandOutput,
} from "./commands/GetAlternateContactCommand";
import {
  GetContactInformationCommandInput,
  GetContactInformationCommandOutput,
} from "./commands/GetContactInformationCommand";
import {
  GetGovCloudAccountInformationCommandInput,
  GetGovCloudAccountInformationCommandOutput,
} from "./commands/GetGovCloudAccountInformationCommand";
import {
  GetPrimaryEmailCommandInput,
  GetPrimaryEmailCommandOutput,
} from "./commands/GetPrimaryEmailCommand";
import {
  GetRegionOptStatusCommandInput,
  GetRegionOptStatusCommandOutput,
} from "./commands/GetRegionOptStatusCommand";
import {
  ListRegionsCommandInput,
  ListRegionsCommandOutput,
} from "./commands/ListRegionsCommand";
import {
  PutAccountNameCommandInput,
  PutAccountNameCommandOutput,
} from "./commands/PutAccountNameCommand";
import {
  PutAlternateContactCommandInput,
  PutAlternateContactCommandOutput,
} from "./commands/PutAlternateContactCommand";
import {
  PutContactInformationCommandInput,
  PutContactInformationCommandOutput,
} from "./commands/PutContactInformationCommand";
import {
  StartPrimaryEmailUpdateCommandInput,
  StartPrimaryEmailUpdateCommandOutput,
} from "./commands/StartPrimaryEmailUpdateCommand";
export interface Account {
  acceptPrimaryEmailUpdate(
    args: AcceptPrimaryEmailUpdateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<AcceptPrimaryEmailUpdateCommandOutput>;
  acceptPrimaryEmailUpdate(
    args: AcceptPrimaryEmailUpdateCommandInput,
    cb: (err: any, data?: AcceptPrimaryEmailUpdateCommandOutput) => void
  ): void;
  acceptPrimaryEmailUpdate(
    args: AcceptPrimaryEmailUpdateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: AcceptPrimaryEmailUpdateCommandOutput) => void
  ): void;
  deleteAlternateContact(
    args: DeleteAlternateContactCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteAlternateContactCommandOutput>;
  deleteAlternateContact(
    args: DeleteAlternateContactCommandInput,
    cb: (err: any, data?: DeleteAlternateContactCommandOutput) => void
  ): void;
  deleteAlternateContact(
    args: DeleteAlternateContactCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteAlternateContactCommandOutput) => void
  ): void;
  disableRegion(
    args: DisableRegionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DisableRegionCommandOutput>;
  disableRegion(
    args: DisableRegionCommandInput,
    cb: (err: any, data?: DisableRegionCommandOutput) => void
  ): void;
  disableRegion(
    args: DisableRegionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DisableRegionCommandOutput) => void
  ): void;
  enableRegion(
    args: EnableRegionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<EnableRegionCommandOutput>;
  enableRegion(
    args: EnableRegionCommandInput,
    cb: (err: any, data?: EnableRegionCommandOutput) => void
  ): void;
  enableRegion(
    args: EnableRegionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: EnableRegionCommandOutput) => void
  ): void;
  getAccountInformation(): Promise<GetAccountInformationCommandOutput>;
  getAccountInformation(
    args: GetAccountInformationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetAccountInformationCommandOutput>;
  getAccountInformation(
    args: GetAccountInformationCommandInput,
    cb: (err: any, data?: GetAccountInformationCommandOutput) => void
  ): void;
  getAccountInformation(
    args: GetAccountInformationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetAccountInformationCommandOutput) => void
  ): void;
  getAlternateContact(
    args: GetAlternateContactCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetAlternateContactCommandOutput>;
  getAlternateContact(
    args: GetAlternateContactCommandInput,
    cb: (err: any, data?: GetAlternateContactCommandOutput) => void
  ): void;
  getAlternateContact(
    args: GetAlternateContactCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetAlternateContactCommandOutput) => void
  ): void;
  getContactInformation(): Promise<GetContactInformationCommandOutput>;
  getContactInformation(
    args: GetContactInformationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetContactInformationCommandOutput>;
  getContactInformation(
    args: GetContactInformationCommandInput,
    cb: (err: any, data?: GetContactInformationCommandOutput) => void
  ): void;
  getContactInformation(
    args: GetContactInformationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetContactInformationCommandOutput) => void
  ): void;
  getGovCloudAccountInformation(): Promise<GetGovCloudAccountInformationCommandOutput>;
  getGovCloudAccountInformation(
    args: GetGovCloudAccountInformationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetGovCloudAccountInformationCommandOutput>;
  getGovCloudAccountInformation(
    args: GetGovCloudAccountInformationCommandInput,
    cb: (err: any, data?: GetGovCloudAccountInformationCommandOutput) => void
  ): void;
  getGovCloudAccountInformation(
    args: GetGovCloudAccountInformationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetGovCloudAccountInformationCommandOutput) => void
  ): void;
  getPrimaryEmail(
    args: GetPrimaryEmailCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetPrimaryEmailCommandOutput>;
  getPrimaryEmail(
    args: GetPrimaryEmailCommandInput,
    cb: (err: any, data?: GetPrimaryEmailCommandOutput) => void
  ): void;
  getPrimaryEmail(
    args: GetPrimaryEmailCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetPrimaryEmailCommandOutput) => void
  ): void;
  getRegionOptStatus(
    args: GetRegionOptStatusCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetRegionOptStatusCommandOutput>;
  getRegionOptStatus(
    args: GetRegionOptStatusCommandInput,
    cb: (err: any, data?: GetRegionOptStatusCommandOutput) => void
  ): void;
  getRegionOptStatus(
    args: GetRegionOptStatusCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetRegionOptStatusCommandOutput) => void
  ): void;
  listRegions(): Promise<ListRegionsCommandOutput>;
  listRegions(
    args: ListRegionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListRegionsCommandOutput>;
  listRegions(
    args: ListRegionsCommandInput,
    cb: (err: any, data?: ListRegionsCommandOutput) => void
  ): void;
  listRegions(
    args: ListRegionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListRegionsCommandOutput) => void
  ): void;
  putAccountName(
    args: PutAccountNameCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<PutAccountNameCommandOutput>;
  putAccountName(
    args: PutAccountNameCommandInput,
    cb: (err: any, data?: PutAccountNameCommandOutput) => void
  ): void;
  putAccountName(
    args: PutAccountNameCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutAccountNameCommandOutput) => void
  ): void;
  putAlternateContact(
    args: PutAlternateContactCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<PutAlternateContactCommandOutput>;
  putAlternateContact(
    args: PutAlternateContactCommandInput,
    cb: (err: any, data?: PutAlternateContactCommandOutput) => void
  ): void;
  putAlternateContact(
    args: PutAlternateContactCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutAlternateContactCommandOutput) => void
  ): void;
  putContactInformation(
    args: PutContactInformationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<PutContactInformationCommandOutput>;
  putContactInformation(
    args: PutContactInformationCommandInput,
    cb: (err: any, data?: PutContactInformationCommandOutput) => void
  ): void;
  putContactInformation(
    args: PutContactInformationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutContactInformationCommandOutput) => void
  ): void;
  startPrimaryEmailUpdate(
    args: StartPrimaryEmailUpdateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<StartPrimaryEmailUpdateCommandOutput>;
  startPrimaryEmailUpdate(
    args: StartPrimaryEmailUpdateCommandInput,
    cb: (err: any, data?: StartPrimaryEmailUpdateCommandOutput) => void
  ): void;
  startPrimaryEmailUpdate(
    args: StartPrimaryEmailUpdateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: StartPrimaryEmailUpdateCommandOutput) => void
  ): void;
  paginateListRegions(
    args?: ListRegionsCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >
  ): Paginator<ListRegionsCommandOutput>;
}
export declare class Account extends AccountClient implements Account {}
