import { type NoIdObjectSkeletonInterface } from '../api/ApiTypes';
import { type OAuth2TrustedJwtIssuerSkeleton } from '../api/OAuth2TrustedJwtIssuerApi';
import { State } from '../shared/State';
import { ExportMetaData } from './OpsTypes';
export type OAuth2TrustedJwtIssuer = {
    /**
     * Create an empty OAuth2 trusted jwt issuer export template
     * @returns {OAuth2TrustedJwtIssuerExportInterface} an empty OAuth2 trusted jwt issuer export template
     */
    createOAuth2TrustedJwtIssuerExportTemplate(): OAuth2TrustedJwtIssuerExportInterface;
    /**
     * Read all OAuth2 trusted jwt issuers
     * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton[]>} a promise that resolves to an array of trusted jwt issuer objects
     */
    readOAuth2TrustedJwtIssuers(): Promise<OAuth2TrustedJwtIssuerSkeleton[]>;
    /**
     * Read OAuth2 trusted jwt issuer
     * @param {string} issuerId trusted jwt issuer id
     * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise that resolves to an trusted jwt issuer object
     */
    readOAuth2TrustedJwtIssuer(issuerId: string): Promise<OAuth2TrustedJwtIssuerSkeleton>;
    /**
     * Create OAuth2 trusted jwt issuer
     * @param {string} issuerId trusted jwt issuer id
     * @param {any} issuerData trusted jwt issuer object
     * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise that resolves to an trusted jwt issuer object
     */
    createOAuth2TrustedJwtIssuer(issuerId: string, issuerData: OAuth2TrustedJwtIssuerSkeleton): Promise<OAuth2TrustedJwtIssuerSkeleton>;
    /**
     * Update or create OAuth2 trusted jwt issuer
     * @param {string} issuerId trusted jwt issuer id
     * @param {any} issuerData trusted jwt issuer object
     * @returns {Promise<any>} a promise that resolves to an trusted jwt issuer object
     */
    updateOAuth2TrustedJwtIssuer(issuerId: string, issuerData: OAuth2TrustedJwtIssuerSkeleton): Promise<OAuth2TrustedJwtIssuerSkeleton>;
    /**
     * Delete all OAuth2 trusted jwt issuers
     * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton[]>} a promise that resolves to an array of trusted jwt issuer objects
     */
    deleteOAuth2TrustedJwtIssuers(): Promise<OAuth2TrustedJwtIssuerSkeleton[]>;
    /**
     * Delete OAuth2 trusted jwt issuer
     * @param {string} issuerId trusted jwt issuer id
     * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise that resolves to an trusted jwt issuer object
     */
    deleteOAuth2TrustedJwtIssuer(issuerId: string): Promise<OAuth2TrustedJwtIssuerSkeleton>;
    /**
     * Export all OAuth2 trusted jwt issuers
     * @param {OAuth2TrustedJwtIssuerExportOptions} options export options
     * @returns {OAuth2TrustedJwtIssuerExportInterface} export data
     */
    exportOAuth2TrustedJwtIssuers(options?: OAuth2TrustedJwtIssuerExportOptions): Promise<OAuth2TrustedJwtIssuerExportInterface>;
    /**
     * Export OAuth2 trusted jwt issuer by ID
     * @param {string} issuerId oauth2 trusted jwt issuer id
     * @param {OAuth2TrustedJwtIssuerExportOptions} options export options
     * @returns {OAuth2TrustedJwtIssuerExportInterface} export data
     */
    exportOAuth2TrustedJwtIssuer(issuerId: string, options?: OAuth2TrustedJwtIssuerExportOptions): Promise<OAuth2TrustedJwtIssuerExportInterface>;
    /**
     * Import OAuth2 Client by ID
     * @param {string} issuerId trusted jwt issuer id
     * @param {OAuth2TrustedJwtIssuerExportInterface} importData import data
     * @param {OAuth2TrustedJwtIssuerImportOptions} options import options
     * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise resolving to an oauth2 trusted jwt issuer
     */
    importOAuth2TrustedJwtIssuer(issuerId: string, importData: OAuth2TrustedJwtIssuerExportInterface, options?: OAuth2TrustedJwtIssuerImportOptions): Promise<OAuth2TrustedJwtIssuerSkeleton>;
    /**
     * Import first OAuth2 Client
     * @param {OAuth2TrustedJwtIssuerExportInterface} importData import data
     * @param {OAuth2TrustedJwtIssuerImportOptions} options import options
     * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise resolving to an oauth2 trusted jwt issuer
     */
    importFirstOAuth2TrustedJwtIssuer(importData: OAuth2TrustedJwtIssuerExportInterface, options?: OAuth2TrustedJwtIssuerImportOptions): Promise<OAuth2TrustedJwtIssuerSkeleton>;
    /**
     * Import OAuth2 Clients
     * @param {OAuth2TrustedJwtIssuerExportInterface} importData import data
     * @param {OAuth2TrustedJwtIssuerImportOptions} options import options
     * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton[]>} a promise resolving to an array of oauth2 trusted jwt issuers
     */
    importOAuth2TrustedJwtIssuers(importData: OAuth2TrustedJwtIssuerExportInterface, options?: OAuth2TrustedJwtIssuerImportOptions): Promise<OAuth2TrustedJwtIssuerSkeleton[]>;
    /**
     * Get all OAuth2 trusted jwt issuers
     * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton[]>} a promise that resolves to an array of trusted jwt issuer objects
     * @deprecated since v2.0.0 use {@link OAuth2TrustedJwtIssuer.readOAuth2TrustedJwtIssuers | readOAuth2TrustedJwtIssuers} instead
     * ```javascript
     * readOAuth2TrustedJwtIssuers(): Promise<OAuth2TrustedJwtIssuerSkeleton[]>
     * ```
     * @group Deprecated
     */
    getOAuth2TrustedJwtIssuers(): Promise<OAuth2TrustedJwtIssuerSkeleton[]>;
    /**
     * Get OAuth2 trusted jwt issuer
     * @param {string} issuerId trusted jwt issuer id
     * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise that resolves to an trusted jwt issuer object
     * @deprecated since v2.0.0 use {@link OAuth2TrustedJwtIssuer.readOAuth2TrustedJwtIssuer | readOAuth2TrustedJwtIssuer} instead
     * ```javascript
     * readOAuth2TrustedJwtIssuer(issuerId: string): Promise<OAuth2TrustedJwtIssuerSkeleton>
     * ```
     * @group Deprecated
     */
    getOAuth2TrustedJwtIssuer(issuerId: string): Promise<OAuth2TrustedJwtIssuerSkeleton>;
    /**
     * Put OAuth2 trusted jwt issuer
     * @param {string} issuerId trusted jwt issuer id
     * @param {OAuth2TrustedJwtIssuerSkeleton} issuerData trusted jwt issuer object
     * @returns {Promise<any>} a promise that resolves to an trusted jwt issuer object
     * @deprecated since v2.0.0 use {@link OAuth2TrustedJwtIssuer.updateOAuth2TrustedJwtIssuer | updateOAuth2TrustedJwtIssuer} or {@link OAuth2TrustedJwtIssuer.createOAuth2TrustedJwtIssuer | createOAuth2TrustedJwtIssuer} instead
     * ```javascript
     * updateOAuth2TrustedJwtIssuer(issuerId: string, issuerData: OAuth2TrustedJwtIssuerSkeleton): Promise<OAuth2TrustedJwtIssuerSkeleton>
     * createOAuth2TrustedJwtIssuer(issuerId: string, issuerData: OAuth2TrustedJwtIssuerSkeleton): Promise<OAuth2TrustedJwtIssuerSkeleton>
     * ```
     * @group Deprecated
     */
    putOAuth2TrustedJwtIssuer(issuerId: string, issuerData: OAuth2TrustedJwtIssuerSkeleton): Promise<OAuth2TrustedJwtIssuerSkeleton>;
};
declare const _default: (state: State) => OAuth2TrustedJwtIssuer;
export default _default;
/**
 * OAuth2 trusted jwt issuer export options
 */
export interface OAuth2TrustedJwtIssuerExportOptions {
    /**
     * Use string arrays to store multi-line text in scripts.
     */
    useStringArrays: boolean;
    /**
     * Include any dependencies (scripts).
     */
    deps: boolean;
}
/**
 * OAuth2 trusted jwt issuer import options
 */
export interface OAuth2TrustedJwtIssuerImportOptions {
    /**
     * Include any dependencies (scripts).
     */
    deps: boolean;
}
export interface OAuth2TrustedJwtIssuerExportInterface {
    meta?: ExportMetaData;
    trustedJwtIssuer: Record<string, OAuth2TrustedJwtIssuerSkeleton>;
}
/**
 * Create an empty OAuth2 trusted jwt issuer export template
 * @returns {OAuth2TrustedJwtIssuerExportInterface} an empty OAuth2 trusted jwt issuer export template
 */
export declare function createOAuth2TrustedJwtIssuerExportTemplate({ state, }: {
    state: State;
}): OAuth2TrustedJwtIssuerExportInterface;
/**
 * Get all OAuth2 trusted jwt issuers
 * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton[]>} a promise that resolves to an array of trusted jwt issuer objects
 */
export declare function readOAuth2TrustedJwtIssuers({ state, }: {
    state: State;
}): Promise<OAuth2TrustedJwtIssuerSkeleton[]>;
/**
 * Get OAuth2 trusted jwt issuer
 * @param {string} issuerId trusted jwt issuer id
 * @returns {Promise<any>} a promise that resolves to an trusted jwt issuer object
 */
export declare function readOAuth2TrustedJwtIssuer({ issuerId, state, }: {
    issuerId: string;
    state: State;
}): Promise<OAuth2TrustedJwtIssuerSkeleton>;
/**
 * Create OAuth2 trusted jwt issuer
 * @param {string} issuerId trusted jwt issuer id
 * @param {OAuth2TrustedJwtIssuerSkeleton | NoIdObjectSkeletonInterface} issuerData trusted jwt issuer object
 * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise that resolves to an trusted jwt issuer object
 */
export declare function createOAuth2TrustedJwtIssuer({ issuerId, issuerData, state, }: {
    issuerId: string;
    issuerData: OAuth2TrustedJwtIssuerSkeleton | NoIdObjectSkeletonInterface;
    state: State;
}): Promise<OAuth2TrustedJwtIssuerSkeleton>;
/**
 * Update or create OAuth2 trusted jwt issuer
 * @param {string} issuerId trusted jwt issuer id
 * @param {any} issuerData trusted jwt issuer object
 * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise that resolves to an trusted jwt issuer object
 */
export declare function updateOAuth2TrustedJwtIssuer({ issuerId, issuerData, state, }: {
    issuerId: string;
    issuerData: OAuth2TrustedJwtIssuerSkeleton | NoIdObjectSkeletonInterface;
    state: State;
}): Promise<OAuth2TrustedJwtIssuerSkeleton>;
/**
 * Delete all OAuth2 trusted jwt issuers
 * @param {string} issuerId trusted jwt issuer id
 * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton[]>} a promise that resolves to an trusted jwt issuer object
 */
export declare function deleteOAuth2TrustedJwtIssuers({ state, }: {
    state: State;
}): Promise<OAuth2TrustedJwtIssuerSkeleton[]>;
/**
 * Delete OAuth2 trusted jwt issuer
 * @param {string} issuerId trusted jwt issuer id
 * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise that resolves to an trusted jwt issuer object
 */
export declare function deleteOAuth2TrustedJwtIssuer({ issuerId, state, }: {
    issuerId: string;
    state: State;
}): Promise<OAuth2TrustedJwtIssuerSkeleton>;
/**
 * Export all OAuth2 trusted jwt issuers
 * @returns {Promise<OAuth2TrustedJwtIssuerExportInterface>} export data
 */
export declare function exportOAuth2TrustedJwtIssuers({ state, }: {
    options?: OAuth2TrustedJwtIssuerExportOptions;
    state: State;
}): Promise<OAuth2TrustedJwtIssuerExportInterface>;
/**
 * Export OAuth2 trusted jwt issuer by ID
 * @param {string} issuerId oauth2 trusted jwt issuer id
 * @param {OAuth2TrustedJwtIssuerExportOptions} options export options
 * @returns {Promise<OAuth2TrustedJwtIssuerExportInterface>} export data
 */
export declare function exportOAuth2TrustedJwtIssuer({ issuerId, state, }: {
    issuerId: string;
    state: State;
}): Promise<OAuth2TrustedJwtIssuerExportInterface>;
/**
 * Import OAuth2 Client by ID
 * @param {string} issuerId trusted jwt issuer id
 * @param {OAuth2TrustedJwtIssuerExportInterface} importData import data
 * @param {OAuth2TrustedJwtIssuerImportOptions} options import options
 * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise resolving to an oauth2 trusted jwt issuer
 */
export declare function importOAuth2TrustedJwtIssuer({ issuerId, importData, state, }: {
    issuerId: string;
    importData: OAuth2TrustedJwtIssuerExportInterface;
    state: State;
}): Promise<OAuth2TrustedJwtIssuerSkeleton>;
/**
 * Import first OAuth2 Client
 * @param {OAuth2TrustedJwtIssuerExportInterface} importData import data
 * @param {OAuth2TrustedJwtIssuerImportOptions} options import options
 * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton>} a promise resolving to an oauth2 trusted jwt issuer
 */
export declare function importFirstOAuth2TrustedJwtIssuer({ importData, state, }: {
    importData: OAuth2TrustedJwtIssuerExportInterface;
    state: State;
}): Promise<OAuth2TrustedJwtIssuerSkeleton>;
/**
 * Import OAuth2 Clients
 * @param {OAuth2TrustedJwtIssuerExportInterface} importData import data
 * @param {OAuth2TrustedJwtIssuerImportOptions} options import options
 * @returns {Promise<OAuth2TrustedJwtIssuerSkeleton[]>} a promise resolving to an array of oauth2 trusted jwt issuers
 */
export declare function importOAuth2TrustedJwtIssuers({ importData, state, }: {
    importData: OAuth2TrustedJwtIssuerExportInterface;
    state: State;
}): Promise<OAuth2TrustedJwtIssuerSkeleton[]>;
//# sourceMappingURL=OAuth2TrustedJwtIssuerOps.d.ts.map