import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export declare const GetTokenFromRefreshTokenServerList: readonly ["https://account-d.docusign.com", "https://account.docusign.com"];
export type GetTokenFromRefreshTokenSecurity = {
    clientId?: string | undefined;
    secretKey?: string | undefined;
};
/**
 * The grant type. This value must be set to "refresh_token".
 */
export declare const GetTokenFromRefreshTokenGrantType: {
    readonly RefreshToken: "refresh_token";
};
/**
 * The grant type. This value must be set to "refresh_token".
 */
export type GetTokenFromRefreshTokenGrantType = ClosedEnum<typeof GetTokenFromRefreshTokenGrantType>;
/**
 * This grant optionally uses Proof Key for Code Exchange (PKCE) to authenticate securely without requiring a client secret.
 */
export type AuthorizationCodeGrant = {
    /**
     * The grant type. This value must be set to "refresh_token".
     */
    grantType?: GetTokenFromRefreshTokenGrantType | undefined;
    /**
     * The refresh token supplied to the callback.
     */
    refreshToken: string;
    /**
     * The client ID.
     */
    clientId?: string | undefined;
};
/**
 * Successful response.
 */
export type GetTokenFromRefreshTokenResponse = {
    /**
     * The value of the access token. This value will be added to the Authorization header of all Docusign API calls.
     */
    accessToken: string;
    /**
     * The type of token. For access tokens, the value of this will be Bearer.
     */
    tokenType: string;
    /**
     * The refresh token.
     */
    refreshToken: string;
    /**
     * The number of seconds until the access token expires.
     */
    expiresIn: number;
};
/** @internal */
export declare const GetTokenFromRefreshTokenSecurity$inboundSchema: z.ZodType<GetTokenFromRefreshTokenSecurity, z.ZodTypeDef, unknown>;
/** @internal */
export type GetTokenFromRefreshTokenSecurity$Outbound = {
    clientId?: string | undefined;
    secretKey?: string | undefined;
};
/** @internal */
export declare const GetTokenFromRefreshTokenSecurity$outboundSchema: z.ZodType<GetTokenFromRefreshTokenSecurity$Outbound, z.ZodTypeDef, GetTokenFromRefreshTokenSecurity>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetTokenFromRefreshTokenSecurity$ {
    /** @deprecated use `GetTokenFromRefreshTokenSecurity$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetTokenFromRefreshTokenSecurity, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetTokenFromRefreshTokenSecurity$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetTokenFromRefreshTokenSecurity$Outbound, z.ZodTypeDef, GetTokenFromRefreshTokenSecurity>;
    /** @deprecated use `GetTokenFromRefreshTokenSecurity$Outbound` instead. */
    type Outbound = GetTokenFromRefreshTokenSecurity$Outbound;
}
export declare function getTokenFromRefreshTokenSecurityToJSON(getTokenFromRefreshTokenSecurity: GetTokenFromRefreshTokenSecurity): string;
export declare function getTokenFromRefreshTokenSecurityFromJSON(jsonString: string): SafeParseResult<GetTokenFromRefreshTokenSecurity, SDKValidationError>;
/** @internal */
export declare const GetTokenFromRefreshTokenGrantType$inboundSchema: z.ZodNativeEnum<typeof GetTokenFromRefreshTokenGrantType>;
/** @internal */
export declare const GetTokenFromRefreshTokenGrantType$outboundSchema: z.ZodNativeEnum<typeof GetTokenFromRefreshTokenGrantType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetTokenFromRefreshTokenGrantType$ {
    /** @deprecated use `GetTokenFromRefreshTokenGrantType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly RefreshToken: "refresh_token";
    }>;
    /** @deprecated use `GetTokenFromRefreshTokenGrantType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly RefreshToken: "refresh_token";
    }>;
}
/** @internal */
export declare const AuthorizationCodeGrant$inboundSchema: z.ZodType<AuthorizationCodeGrant, z.ZodTypeDef, unknown>;
/** @internal */
export type AuthorizationCodeGrant$Outbound = {
    grant_type: string;
    refresh_token: string;
    client_id?: string | undefined;
};
/** @internal */
export declare const AuthorizationCodeGrant$outboundSchema: z.ZodType<AuthorizationCodeGrant$Outbound, z.ZodTypeDef, AuthorizationCodeGrant>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AuthorizationCodeGrant$ {
    /** @deprecated use `AuthorizationCodeGrant$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AuthorizationCodeGrant, z.ZodTypeDef, unknown>;
    /** @deprecated use `AuthorizationCodeGrant$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AuthorizationCodeGrant$Outbound, z.ZodTypeDef, AuthorizationCodeGrant>;
    /** @deprecated use `AuthorizationCodeGrant$Outbound` instead. */
    type Outbound = AuthorizationCodeGrant$Outbound;
}
export declare function authorizationCodeGrantToJSON(authorizationCodeGrant: AuthorizationCodeGrant): string;
export declare function authorizationCodeGrantFromJSON(jsonString: string): SafeParseResult<AuthorizationCodeGrant, SDKValidationError>;
/** @internal */
export declare const GetTokenFromRefreshTokenResponse$inboundSchema: z.ZodType<GetTokenFromRefreshTokenResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type GetTokenFromRefreshTokenResponse$Outbound = {
    access_token: string;
    token_type: string;
    refresh_token: string;
    expires_in: number;
};
/** @internal */
export declare const GetTokenFromRefreshTokenResponse$outboundSchema: z.ZodType<GetTokenFromRefreshTokenResponse$Outbound, z.ZodTypeDef, GetTokenFromRefreshTokenResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace GetTokenFromRefreshTokenResponse$ {
    /** @deprecated use `GetTokenFromRefreshTokenResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<GetTokenFromRefreshTokenResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `GetTokenFromRefreshTokenResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<GetTokenFromRefreshTokenResponse$Outbound, z.ZodTypeDef, GetTokenFromRefreshTokenResponse>;
    /** @deprecated use `GetTokenFromRefreshTokenResponse$Outbound` instead. */
    type Outbound = GetTokenFromRefreshTokenResponse$Outbound;
}
export declare function getTokenFromRefreshTokenResponseToJSON(getTokenFromRefreshTokenResponse: GetTokenFromRefreshTokenResponse): string;
export declare function getTokenFromRefreshTokenResponseFromJSON(jsonString: string): SafeParseResult<GetTokenFromRefreshTokenResponse, SDKValidationError>;
//# sourceMappingURL=gettokenfromrefreshtoken.d.ts.map