import * as core from "@terrascript/core";
export interface FaqStatisticsArgs extends core.SchemaArgs {
    indexedQuestionAnswersCount: number | core.NumberOut;
}
export declare class FaqStatistics extends core.Schema<FaqStatisticsArgs> {
    indexedQuestionAnswersCount: number | core.NumberOut;
}
export interface TextDocumentStatisticsArgs extends core.SchemaArgs {
    indexedTextBytes: number | core.NumberOut;
    indexedTextDocumentsCount: number | core.NumberOut;
}
export declare class TextDocumentStatistics extends core.Schema<TextDocumentStatisticsArgs> {
    indexedTextBytes: number | core.NumberOut;
    indexedTextDocumentsCount: number | core.NumberOut;
}
export interface IndexStatisticsArgs extends core.SchemaArgs {
    faqStatistics: core.Array<FaqStatistics> | core.ArrayOut<FaqStatistics>;
    textDocumentStatistics: core.Array<TextDocumentStatistics> | core.ArrayOut<TextDocumentStatistics>;
}
export declare class IndexStatistics extends core.Schema<IndexStatisticsArgs> {
    faqStatistics: core.Array<FaqStatistics> | core.ArrayOut<FaqStatistics>;
    textDocumentStatistics: core.Array<TextDocumentStatistics> | core.ArrayOut<TextDocumentStatistics>;
}
export interface ServerSideEncryptionConfigurationArgs extends core.SchemaArgs {
    kmsKeyId: string | core.StringOut;
}
export declare class ServerSideEncryptionConfiguration extends core.Schema<ServerSideEncryptionConfigurationArgs> {
    kmsKeyId: string | core.StringOut;
}
export interface CapacityUnitsArgs extends core.SchemaArgs {
    queryCapacityUnits: number | core.NumberOut;
    storageCapacityUnits: number | core.NumberOut;
}
export declare class CapacityUnits extends core.Schema<CapacityUnitsArgs> {
    queryCapacityUnits: number | core.NumberOut;
    storageCapacityUnits: number | core.NumberOut;
}
export interface UserGroupResolutionConfigurationArgs extends core.SchemaArgs {
    userGroupResolutionMode: string | core.StringOut;
}
export declare class UserGroupResolutionConfiguration extends core.Schema<UserGroupResolutionConfigurationArgs> {
    userGroupResolutionMode: string | core.StringOut;
}
export interface JsonTokenTypeConfigurationArgs extends core.SchemaArgs {
    groupAttributeField: string | core.StringOut;
    userNameAttributeField: string | core.StringOut;
}
export declare class JsonTokenTypeConfiguration extends core.Schema<JsonTokenTypeConfigurationArgs> {
    groupAttributeField: string | core.StringOut;
    userNameAttributeField: string | core.StringOut;
}
export interface JwtTokenTypeConfigurationArgs extends core.SchemaArgs {
    claimRegex: string | core.StringOut;
    groupAttributeField: string | core.StringOut;
    issuer: string | core.StringOut;
    keyLocation: string | core.StringOut;
    secretsManagerArn: string | core.StringOut;
    url: string | core.StringOut;
    userNameAttributeField: string | core.StringOut;
}
export declare class JwtTokenTypeConfiguration extends core.Schema<JwtTokenTypeConfigurationArgs> {
    claimRegex: string | core.StringOut;
    groupAttributeField: string | core.StringOut;
    issuer: string | core.StringOut;
    keyLocation: string | core.StringOut;
    secretsManagerArn: string | core.StringOut;
    url: string | core.StringOut;
    userNameAttributeField: string | core.StringOut;
}
export interface UserTokenConfigurationsArgs extends core.SchemaArgs {
    jsonTokenTypeConfiguration: core.Array<JsonTokenTypeConfiguration> | core.ArrayOut<JsonTokenTypeConfiguration>;
    jwtTokenTypeConfiguration: core.Array<JwtTokenTypeConfiguration> | core.ArrayOut<JwtTokenTypeConfiguration>;
}
export declare class UserTokenConfigurations extends core.Schema<UserTokenConfigurationsArgs> {
    jsonTokenTypeConfiguration: core.Array<JsonTokenTypeConfiguration> | core.ArrayOut<JsonTokenTypeConfiguration>;
    jwtTokenTypeConfiguration: core.Array<JwtTokenTypeConfiguration> | core.ArrayOut<JwtTokenTypeConfiguration>;
}
export interface SearchArgs extends core.SchemaArgs {
    displayable: boolean | core.BooleanOut;
    facetable: boolean | core.BooleanOut;
    searchable: boolean | core.BooleanOut;
    sortable: boolean | core.BooleanOut;
}
export declare class Search extends core.Schema<SearchArgs> {
    displayable: boolean | core.BooleanOut;
    facetable: boolean | core.BooleanOut;
    searchable: boolean | core.BooleanOut;
    sortable: boolean | core.BooleanOut;
}
export interface RelevanceArgs extends core.SchemaArgs {
    duration: string | core.StringOut;
    freshness: boolean | core.BooleanOut;
    importance: number | core.NumberOut;
    rankOrder: string | core.StringOut;
    valuesImportanceMap: core.Map<string, number> | core.MapOut<core.NumberOut>;
}
export declare class Relevance extends core.Schema<RelevanceArgs> {
    duration: string | core.StringOut;
    freshness: boolean | core.BooleanOut;
    importance: number | core.NumberOut;
    rankOrder: string | core.StringOut;
    valuesImportanceMap: core.Map<string, number> | core.MapOut<core.NumberOut>;
}
export interface DocumentMetadataConfigurationUpdatesArgs extends core.SchemaArgs {
    name: string | core.StringOut;
    relevance: core.Array<Relevance> | core.ArrayOut<Relevance>;
    search: core.Array<Search> | core.ArrayOut<Search>;
    type: string | core.StringOut;
}
export declare class DocumentMetadataConfigurationUpdates extends core.Schema<DocumentMetadataConfigurationUpdatesArgs> {
    name: string | core.StringOut;
    relevance: core.Array<Relevance> | core.ArrayOut<Relevance>;
    search: core.Array<Search> | core.ArrayOut<Search>;
    type: string | core.StringOut;
}
export interface DsIndexArgs {
    id: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsIndex extends core.Data<DsIndexArgs> {
    arn: string | core.StringOut;
    capacityUnits: core.Array<CapacityUnits> | core.ArrayOut<CapacityUnits>;
    createdAt: string | core.StringOut;
    description: string | core.StringOut;
    documentMetadataConfigurationUpdates: core.Array<DocumentMetadataConfigurationUpdates> | core.ArrayOut<DocumentMetadataConfigurationUpdates>;
    edition: string | core.StringOut;
    errorMessage: string | core.StringOut;
    id: string | core.StringOut;
    indexStatistics: core.Array<IndexStatistics> | core.ArrayOut<IndexStatistics>;
    name: string | core.StringOut;
    roleArn: string | core.StringOut;
    serverSideEncryptionConfiguration: core.Array<ServerSideEncryptionConfiguration> | core.ArrayOut<ServerSideEncryptionConfiguration>;
    status: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    updatedAt: string | core.StringOut;
    userContextPolicy: string | core.StringOut;
    userGroupResolutionConfiguration: core.Array<UserGroupResolutionConfiguration> | core.ArrayOut<UserGroupResolutionConfiguration>;
    userTokenConfigurations: core.Array<UserTokenConfigurations> | core.ArrayOut<UserTokenConfigurations>;
    constructor(name: string, args?: DsIndexArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_index.d.ts.map