import { State } from '../shared/State';
import { type IdObjectSkeletonInterface, type NoIdObjectSkeletonInterface, type PagedResult, type Readable, type Writable } from './ApiTypes';
export type OAuth2TrustedJwtIssuerSkeleton = IdObjectSkeletonInterface & {
    allowedSubjects?: Readable<string[]> | Writable<string[]>;
    jwksCacheTimeout?: Readable<number> | Writable<number>;
    jwkSet?: Readable<string> | Writable<string>;
    consentedScopesClaim?: Readable<string> | Writable<string>;
    issuer: Readable<string> | Writable<string>;
    jwkStoreCacheMissCacheTime?: Readable<number> | Writable<number>;
    resourceOwnerIdentityClaim?: Readable<string> | Writable<string>;
    jwksUri?: Readable<string> | Writable<string>;
    _type: {
        _id: 'TrustedJwtIssuer';
        name: 'OAuth2 Trusted JWT Issuer';
        collection: true;
    };
};
/**
 * Get OAuth2 Trusted JWT Issuers
 * @returns {Promise<PagedResult>} a promise that resolves to a PagedResults object containing an array of oauth2TrustedJwtIssuer objects
 */
export declare function getOAuth2TrustedJwtIssuers({ state, }: {
    state: State;
}): Promise<PagedResult<OAuth2TrustedJwtIssuerSkeleton>>;
/**
 * Get OAuth2 Trusted JWT Issuer
 * @param {string} id oauth2 trusted jwt issuer id
 * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise that resolves to an oauth2TrustedJwtIssuer object
 */
export declare function getOAuth2TrustedJwtIssuer({ id, state, }: {
    id: string;
    state: State;
}): Promise<OAuth2TrustedJwtIssuerSkeleton>;
/**
 * Put OAuth2 Trusted JWT Issuer
 * @param {string} id issuer id
 * @param {OAuth2TrustedJwtIssuerSkeleton} issuerData TrustedJwtIssuer object
 * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise that resolves to an oauth2TrustedJwtIssuer object
 */
export declare function putOAuth2TrustedJwtIssuer({ id, issuerData, state, }: {
    id: string;
    issuerData: OAuth2TrustedJwtIssuerSkeleton | NoIdObjectSkeletonInterface;
    state: State;
}): Promise<OAuth2TrustedJwtIssuerSkeleton>;
/**
 * Delete OAuth2 Trusted JWT Issuer
 * @param {string} id OAuth2 issuer id
 * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise that resolves to a trusted jwt issuer object
 */
export declare function deleteOAuth2TrustedJwtIssuer({ id, state, }: {
    id: string;
    state: State;
}): Promise<OAuth2TrustedJwtIssuerSkeleton>;
//# sourceMappingURL=OAuth2TrustedJwtIssuerApi.d.ts.map