import { InstallationUpgradeRequest, FullInstallationInfo, InstallationUpgradeManyRequest, InstallationUpgradeManyResponse } from './installation/installation.js';
import { GetPendingRequest, GetResponse, UpdateStatusForAppRequest } from './fetch_domain_request/fetch_domain_request.js';
import { Empty } from '../../google/protobuf/empty.js';
import { Int32Value } from '../../google/protobuf/wrappers.js';
import { GetAppBySlugWithDomainInfoRequest, AppWithDomainInfo, GetAppsWithDomainInfoRequest, GetAppsWithDomainInfoResponse, AddDomainsToAppRequest, RemoveDomainFromAppRequest } from './app/app.js';
import { ListCuratedGamesRequest, ListCuratedGamesResponse, AddCuratedGameRequest, AddCuratedGameResponse, UpdateCuratedGameRankRequest, UpdateCuratedGameRankResponse, RemoveCuratedGameRequest } from './curated_game/curated_game.js';
interface Rpc {
    request(service: string, method: string, contentType: 'application/json' | 'application/protobuf', data: object | Uint8Array): Promise<object | Uint8Array>;
}
export interface AdminInstallationClient {
    Upgrade(request: InstallationUpgradeRequest): Promise<FullInstallationInfo>;
    UpgradeMany(request: InstallationUpgradeManyRequest): Promise<InstallationUpgradeManyResponse>;
}
export declare class AdminInstallationClientJSON implements AdminInstallationClient {
    private readonly rpc;
    constructor(rpc: Rpc);
    Upgrade(request: InstallationUpgradeRequest): Promise<FullInstallationInfo>;
    UpgradeMany(request: InstallationUpgradeManyRequest): Promise<InstallationUpgradeManyResponse>;
}
export declare class AdminInstallationClientProtobuf implements AdminInstallationClient {
    private readonly rpc;
    constructor(rpc: Rpc);
    Upgrade(request: InstallationUpgradeRequest): Promise<FullInstallationInfo>;
    UpgradeMany(request: InstallationUpgradeManyRequest): Promise<InstallationUpgradeManyResponse>;
}
interface Rpc {
    request(service: string, method: string, contentType: 'application/json' | 'application/protobuf', data: object | Uint8Array): Promise<object | Uint8Array>;
}
export interface AdminFetchDomainRequestClient {
    GetPending(request: GetPendingRequest): Promise<GetResponse>;
    GetPendingRequestsCount(request: Empty): Promise<Int32Value>;
    UpdateStatusForApp(request: UpdateStatusForAppRequest): Promise<Empty>;
}
export declare class AdminFetchDomainRequestClientJSON implements AdminFetchDomainRequestClient {
    private readonly rpc;
    constructor(rpc: Rpc);
    GetPending(request: GetPendingRequest): Promise<GetResponse>;
    GetPendingRequestsCount(request: Empty): Promise<Int32Value>;
    UpdateStatusForApp(request: UpdateStatusForAppRequest): Promise<Empty>;
}
export declare class AdminFetchDomainRequestClientProtobuf implements AdminFetchDomainRequestClient {
    private readonly rpc;
    constructor(rpc: Rpc);
    GetPending(request: GetPendingRequest): Promise<GetResponse>;
    GetPendingRequestsCount(request: Empty): Promise<Int32Value>;
    UpdateStatusForApp(request: UpdateStatusForAppRequest): Promise<Empty>;
}
interface Rpc {
    request(service: string, method: string, contentType: 'application/json' | 'application/protobuf', data: object | Uint8Array): Promise<object | Uint8Array>;
}
export interface AdminAppClient {
    GetAppBySlugWithDomainInfo(request: GetAppBySlugWithDomainInfoRequest): Promise<AppWithDomainInfo>;
    GetAppsWithDomainInfo(request: GetAppsWithDomainInfoRequest): Promise<GetAppsWithDomainInfoResponse>;
    AddDomainsToApp(request: AddDomainsToAppRequest): Promise<Empty>;
    RemoveDomainFromApp(request: RemoveDomainFromAppRequest): Promise<Empty>;
}
export declare class AdminAppClientJSON implements AdminAppClient {
    private readonly rpc;
    constructor(rpc: Rpc);
    GetAppBySlugWithDomainInfo(request: GetAppBySlugWithDomainInfoRequest): Promise<AppWithDomainInfo>;
    GetAppsWithDomainInfo(request: GetAppsWithDomainInfoRequest): Promise<GetAppsWithDomainInfoResponse>;
    AddDomainsToApp(request: AddDomainsToAppRequest): Promise<Empty>;
    RemoveDomainFromApp(request: RemoveDomainFromAppRequest): Promise<Empty>;
}
export declare class AdminAppClientProtobuf implements AdminAppClient {
    private readonly rpc;
    constructor(rpc: Rpc);
    GetAppBySlugWithDomainInfo(request: GetAppBySlugWithDomainInfoRequest): Promise<AppWithDomainInfo>;
    GetAppsWithDomainInfo(request: GetAppsWithDomainInfoRequest): Promise<GetAppsWithDomainInfoResponse>;
    AddDomainsToApp(request: AddDomainsToAppRequest): Promise<Empty>;
    RemoveDomainFromApp(request: RemoveDomainFromAppRequest): Promise<Empty>;
}
interface Rpc {
    request(service: string, method: string, contentType: 'application/json' | 'application/protobuf', data: object | Uint8Array): Promise<object | Uint8Array>;
}
export interface AdminCuratedGameClient {
    ListGames(request: ListCuratedGamesRequest): Promise<ListCuratedGamesResponse>;
    AddGame(request: AddCuratedGameRequest): Promise<AddCuratedGameResponse>;
    UpdateGameRank(request: UpdateCuratedGameRankRequest): Promise<UpdateCuratedGameRankResponse>;
    RemoveGame(request: RemoveCuratedGameRequest): Promise<Empty>;
}
export declare class AdminCuratedGameClientJSON implements AdminCuratedGameClient {
    private readonly rpc;
    constructor(rpc: Rpc);
    ListGames(request: ListCuratedGamesRequest): Promise<ListCuratedGamesResponse>;
    AddGame(request: AddCuratedGameRequest): Promise<AddCuratedGameResponse>;
    UpdateGameRank(request: UpdateCuratedGameRankRequest): Promise<UpdateCuratedGameRankResponse>;
    RemoveGame(request: RemoveCuratedGameRequest): Promise<Empty>;
}
export declare class AdminCuratedGameClientProtobuf implements AdminCuratedGameClient {
    private readonly rpc;
    constructor(rpc: Rpc);
    ListGames(request: ListCuratedGamesRequest): Promise<ListCuratedGamesResponse>;
    AddGame(request: AddCuratedGameRequest): Promise<AddCuratedGameResponse>;
    UpdateGameRank(request: UpdateCuratedGameRankRequest): Promise<UpdateCuratedGameRankResponse>;
    RemoveGame(request: RemoveCuratedGameRequest): Promise<Empty>;
}
export {};
//# sourceMappingURL=admin_portal.twirp-client.d.ts.map