import { inspect, InspectOptions } from "util";
import V1 from "../V1";
import { ApiResponse } from "../../../base/ApiResponse";
export interface OauthAuthorizationServerSolution {
}
export interface OauthAuthorizationServerListInstance {
    _version: V1;
    _solution: OauthAuthorizationServerSolution;
    _uri: string;
    /**
     * Fetch a OauthAuthorizationServerInstance
     *
     * @param callback - Callback to handle processed record
     *
     * @returns Resolves to processed OauthAuthorizationServerInstance
     */
    fetch(callback?: (error: Error | null, item?: OauthAuthorizationServerInstance) => any): Promise<OauthAuthorizationServerInstance>;
    /**
     * Fetch a OauthAuthorizationServerInstance and return HTTP info
     *
     * @param callback - Callback to handle processed record
     *
     * @returns Resolves to processed OauthAuthorizationServerInstance with HTTP metadata
     */
    fetchWithHttpInfo(callback?: (error: Error | null, item?: ApiResponse<OauthAuthorizationServerInstance>) => any): Promise<ApiResponse<OauthAuthorizationServerInstance>>;
    /**
     * Provide a user-friendly representation
     */
    toJSON(): any;
    [inspect.custom](_depth: any, options: InspectOptions): any;
}
export declare function OauthAuthorizationServerListInstance(version: V1): OauthAuthorizationServerListInstance;
interface OauthAuthorizationServerResource {
    issuer: string;
    authorization_endpoint: string;
    token_endpoint: string;
    response_types_supported: Array<string>;
    grant_types_supported: Array<string>;
    code_challenge_methods_supported: Array<string>;
    token_endpoint_auth_methods_supported: Array<string>;
}
export declare class OauthAuthorizationServerInstance {
    protected _version: V1;
    constructor(_version: V1, payload: OauthAuthorizationServerResource);
    issuer: string;
    authorizationEndpoint: string;
    tokenEndpoint: string;
    responseTypesSupported: Array<string>;
    grantTypesSupported: Array<string>;
    codeChallengeMethodsSupported: Array<string>;
    tokenEndpointAuthMethodsSupported: Array<string>;
    /**
     * Provide a user-friendly representation
     *
     * @returns Object
     */
    toJSON(): {
        issuer: string;
        authorizationEndpoint: string;
        tokenEndpoint: string;
        responseTypesSupported: string[];
        grantTypesSupported: string[];
        codeChallengeMethodsSupported: string[];
        tokenEndpointAuthMethodsSupported: string[];
    };
    [inspect.custom](_depth: any, options: InspectOptions): string;
}
export {};
