/// <reference types="node" />
import { UUID, AjaxError, JsonWebToken, EmailAddressString, EthereumAccountAddress } from "@hypernetlabs/objects";
import { IAjaxUtils } from "@hypernetlabs/utils";
import { ResultAsync } from "neverthrow";
import { IHypernetCorporateIntegration, IHypernetCorporateIntegrationConfig, NFTMetadata } from "./IHypernetCorporateIntegration";
export declare class HypernetCorporateIntegration implements IHypernetCorporateIntegration {
    protected corporateId: UUID;
    protected corporateSecret: string;
    protected config?: IHypernetCorporateIntegrationConfig | undefined;
    protected ajaxUtils: IAjaxUtils;
    protected apiBaseUrl: string;
    protected token: JsonWebToken | null;
    protected tokenExpiration: number;
    constructor(corporateId: UUID, corporateSecret: string, config?: IHypernetCorporateIntegrationConfig | undefined);
    uploadFileToCollection(collectionId: UUID, fileContent: Buffer, fileName: string): ResultAsync<void, AjaxError>;
    createNFTInCollection(collectionId: UUID, metadata: NFTMetadata, identityId: UUID | null, emailAddress: EmailAddressString | null, accountAddress: EthereumAccountAddress | null, imageFileName: string | null, animationFileName: string | null): ResultAsync<UUID, AjaxError>;
    protected setCorporateAuthenticationToken(): ResultAsync<void, AjaxError>;
    protected getUploadLink(collectionId: UUID, fileName: string): ResultAsync<string, AjaxError>;
    protected uploadFileToBucket(uploadUrl: string, fileBuffer: Buffer): ResultAsync<void, AjaxError>;
    protected getTokenRequired(): boolean;
}
//# sourceMappingURL=HypernetCorporateIntegration.d.ts.map