import * as coreClient from "@azure/core-client";
import * as coreHttpCompat from "@azure/core-http-compat";
/** The result of a list request. */
export interface KeyListResult {
    /** The collection value. */
    items?: Key[];
    /** The URI that can be used to request the next set of paged results. */
    nextLink?: string;
}
export interface Key {
    /**
     * The name of the key.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly name?: string;
}
/** Azure App Configuration error object. */
export interface ErrorModel {
    /** The type of the error. */
    type?: string;
    /** A brief summary of the error. */
    title?: string;
    /** The name of the parameter that resulted in the error. */
    name?: string;
    /** A detailed description of the error. */
    detail?: string;
    /** The HTTP status code that the error maps to. */
    status?: number;
}
/** The result of a list request. */
export interface KeyValueListResult {
    /** The collection value. */
    items?: KeyValue[];
    /** An identifier representing the returned state of the resource. */
    etag?: string;
    /** The URI that can be used to request the next set of paged results. */
    nextLink?: string;
}
export interface KeyValue {
    /** The key of the key-value. */
    key: string;
    /** The label the key-value belongs to. */
    label?: string;
    /** The content type of the value stored within the key-value. */
    contentType?: string;
    /** The value of the key-value. */
    value?: string;
    /** A date representing the last time the key-value was modified. */
    lastModified?: Date;
    /** The tags of the key-value */
    tags?: {
        [propertyName: string]: string;
    };
    /** Indicates whether the key-value is locked. */
    locked?: boolean;
    /** A value representing the current state of the resource. */
    etag?: string;
}
/** The result of a snapshot list request. */
export interface SnapshotListResult {
    /** The collection value. */
    items?: ConfigurationSnapshot[];
    /** The URI that can be used to request the next set of paged results. */
    nextLink?: string;
}
/** Snapshot details include name, filters, expiresOn, sizeInBytes, status, itemCount, and more */
export interface ConfigurationSnapshot {
    /**
     * The name of the snapshot.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly name: string;
    /**
     * The current status of the snapshot.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly status?: ConfigurationSnapshotStatus;
    /** A list of filters used to filter the key-values included in the snapshot. */
    filters: ConfigurationSettingsFilter[];
    /** The composition type describes how the key-values within the snapshot are composed. The 'key' composition type ensures there are no two key-values containing the same key. The 'key_label' composition type ensures there are no two key-values containing the same key and label. */
    compositionType?: SnapshotComposition;
    /**
     * The time that the snapshot was created.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly createdOn?: Date;
    /**
     * The time that the snapshot will expire.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly expiresOn?: Date;
    /** The amount of time, in seconds, that a snapshot will remain in the archived state before expiring. This property is only writable during the creation of a snapshot. If not specified, the default lifetime of key-value revisions will be used. */
    retentionPeriodInSeconds?: number;
    /**
     * The size in bytes of the snapshot.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly sizeInBytes?: number;
    /**
     * The amount of key-values in the snapshot.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly itemCount?: number;
    /** The tags of the snapshot. */
    tags?: {
        [propertyName: string]: string;
    };
    /**
     * A value representing the current state of the snapshot.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly etag?: string;
}
/** Enables filtering of key-values. Syntax reference: https://aka.ms/azconfig/docs/restapisnapshots */
export interface ConfigurationSettingsFilter {
    /** Filters key-values by their key field. */
    keyFilter: string;
    /** Filters key-values by their label field. */
    labelFilter?: string;
    /** Filters key-values by their tags field. */
    tagsFilter?: string[];
}
/** Parameters used to update a snapshot. */
export interface SnapshotUpdateParameters {
    /** The desired status of the snapshot. */
    status?: SnapshotStatus;
}
/** The result of a list request. */
export interface LabelListResult {
    /** The collection value. */
    items?: SettingLabel[];
    /** The URI that can be used to request the next set of paged results. */
    nextLink?: string;
}
/** Label details, with name property that can only be populated by the server */
export interface SettingLabel {
    /**
     * The name of the label.
     * NOTE: This property will not be serialized. It can only be populated by the server.
     */
    readonly name?: string;
}
/** Details of a long running operation. */
export interface OperationDetails {
    /** The unique id of the operation. */
    id: string;
    /** The current status of the operation */
    status: State;
    /** An error, available when the status is `Failed`, describing why the operation failed. */
    error?: ErrorDetail;
}
/** The details of an error. */
export interface ErrorDetail {
    /** One of a server-defined set of error codes. */
    code: string;
    /** A human-readable representation of the error. */
    message: string;
    /** An array of details about specific errors that led to this reported error. */
    details?: ErrorDetail[];
    /** An object containing more specific information than the current object about the error. */
    innererror?: InnerError;
}
/** An object containing specific information about an error. */
export interface InnerError {
    /** One of a server-defined set of error codes. */
    code?: string;
    /** An object containing more specific information than the current object about the error. */
    innererror?: InnerError;
}
/** Defines headers for AppConfiguration_getKeys operation. */
export interface AppConfigurationGetKeysHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
}
/** Defines headers for AppConfiguration_checkKeys operation. */
export interface AppConfigurationCheckKeysHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
}
/** Defines headers for AppConfiguration_getKeyValues operation. */
export interface AppConfigurationGetKeyValuesHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
}
/** Defines headers for AppConfiguration_checkKeyValues operation. */
export interface AppConfigurationCheckKeyValuesHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
}
/** Defines headers for AppConfiguration_getKeyValue operation. */
export interface AppConfigurationGetKeyValueHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
}
/** Defines headers for AppConfiguration_putKeyValue operation. */
export interface AppConfigurationPutKeyValueHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
}
/** Defines headers for AppConfiguration_deleteKeyValue operation. */
export interface AppConfigurationDeleteKeyValueHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
}
/** Defines headers for AppConfiguration_checkKeyValue operation. */
export interface AppConfigurationCheckKeyValueHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
}
/** Defines headers for AppConfiguration_getSnapshots operation. */
export interface AppConfigurationGetSnapshotsHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
}
/** Defines headers for AppConfiguration_checkSnapshots operation. */
export interface AppConfigurationCheckSnapshotsHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
}
/** Defines headers for AppConfiguration_getSnapshot operation. */
export interface AppConfigurationGetSnapshotHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
    /** Includes links to related resources. */
    link?: string;
}
/** Defines headers for AppConfiguration_createSnapshot operation. */
export interface AppConfigurationCreateSnapshotHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
    /** Includes links to related resources. */
    link?: string;
    /** The URL to track the status of the long running operation. */
    operationLocation?: string;
}
/** Defines headers for AppConfiguration_updateSnapshot operation. */
export interface AppConfigurationUpdateSnapshotHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
    /** Includes links to related resources. */
    link?: string;
}
/** Defines headers for AppConfiguration_checkSnapshot operation. */
export interface AppConfigurationCheckSnapshotHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
    /** Includes links to related resources. */
    link?: string;
}
/** Defines headers for AppConfiguration_getLabels operation. */
export interface AppConfigurationGetLabelsHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
}
/** Defines headers for AppConfiguration_checkLabels operation. */
export interface AppConfigurationCheckLabelsHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
}
/** Defines headers for AppConfiguration_putLock operation. */
export interface AppConfigurationPutLockHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
}
/** Defines headers for AppConfiguration_deleteLock operation. */
export interface AppConfigurationDeleteLockHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
}
/** Defines headers for AppConfiguration_getRevisions operation. */
export interface AppConfigurationGetRevisionsHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
}
/** Defines headers for AppConfiguration_checkRevisions operation. */
export interface AppConfigurationCheckRevisionsHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
}
/** Defines headers for AppConfiguration_getKeysNext operation. */
export interface AppConfigurationGetKeysNextHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
}
/** Defines headers for AppConfiguration_getKeyValuesNext operation. */
export interface AppConfigurationGetKeyValuesNextHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
}
/** Defines headers for AppConfiguration_getSnapshotsNext operation. */
export interface AppConfigurationGetSnapshotsNextHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
}
/** Defines headers for AppConfiguration_getLabelsNext operation. */
export interface AppConfigurationGetLabelsNextHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
}
/** Defines headers for AppConfiguration_getRevisionsNext operation. */
export interface AppConfigurationGetRevisionsNextHeaders {
    /** Enables real-time consistency between requests by providing the returned value in the next request made to the server. */
    syncToken?: string;
    /** An identifier representing the returned state of the resource. */
    eTag?: string;
}
/** Known values of {@link ApiVersion20231101} that the service accepts. */
export declare enum KnownApiVersion20231101 {
    /** Api Version '2023-11-01' */
    TwoThousandTwentyThree1101 = "2023-11-01"
}
/**
 * Defines values for ApiVersion20231101. \
 * {@link KnownApiVersion20231101} can be used interchangeably with ApiVersion20231101,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **2023-11-01**: Api Version '2023-11-01'
 */
export type ApiVersion20231101 = string;
/** Known values of {@link KeyValueFields} that the service accepts. */
export declare enum KnownKeyValueFields {
    /** Key */
    Key = "key",
    /** Label */
    Label = "label",
    /** ContentType */
    ContentType = "content_type",
    /** Value */
    Value = "value",
    /** LastModified */
    LastModified = "last_modified",
    /** Tags */
    Tags = "tags",
    /** Locked */
    Locked = "locked",
    /** Etag */
    Etag = "etag"
}
/**
 * Defines values for KeyValueFields. \
 * {@link KnownKeyValueFields} can be used interchangeably with KeyValueFields,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **key** \
 * **label** \
 * **content_type** \
 * **value** \
 * **last_modified** \
 * **tags** \
 * **locked** \
 * **etag**
 */
export type KeyValueFields = string;
/** Known values of {@link SnapshotFields} that the service accepts. */
export declare enum KnownSnapshotFields {
    /** Name */
    Name = "name",
    /** Status */
    Status = "status",
    /** Filters */
    Filters = "filters",
    /** CompositionType */
    CompositionType = "composition_type",
    /** Created */
    Created = "created",
    /** Expires */
    Expires = "expires",
    /** RetentionPeriod */
    RetentionPeriod = "retention_period",
    /** Size */
    Size = "size",
    /** ItemsCount */
    ItemsCount = "items_count",
    /** Tags */
    Tags = "tags",
    /** Etag */
    Etag = "etag"
}
/**
 * Defines values for SnapshotFields. \
 * {@link KnownSnapshotFields} can be used interchangeably with SnapshotFields,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **name** \
 * **status** \
 * **filters** \
 * **composition_type** \
 * **created** \
 * **expires** \
 * **retention_period** \
 * **size** \
 * **items_count** \
 * **tags** \
 * **etag**
 */
export type SnapshotFields = string;
/** Known values of {@link SnapshotStatus} that the service accepts. */
export declare enum KnownSnapshotStatus {
    /** Provisioning */
    Provisioning = "provisioning",
    /** Ready */
    Ready = "ready",
    /** Archived */
    Archived = "archived",
    /** Failed */
    Failed = "failed"
}
/**
 * Defines values for SnapshotStatus. \
 * {@link KnownSnapshotStatus} can be used interchangeably with SnapshotStatus,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **provisioning** \
 * **ready** \
 * **archived** \
 * **failed**
 */
export type SnapshotStatus = string;
/** Known values of {@link ConfigurationSnapshotStatus} that the service accepts. */
export declare enum KnownConfigurationSnapshotStatus {
    /** Provisioning */
    Provisioning = "provisioning",
    /** Ready */
    Ready = "ready",
    /** Archived */
    Archived = "archived",
    /** Failed */
    Failed = "failed"
}
/**
 * Defines values for ConfigurationSnapshotStatus. \
 * {@link KnownConfigurationSnapshotStatus} can be used interchangeably with ConfigurationSnapshotStatus,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **provisioning** \
 * **ready** \
 * **archived** \
 * **failed**
 */
export type ConfigurationSnapshotStatus = string;
/** Known values of {@link SnapshotComposition} that the service accepts. */
export declare enum KnownSnapshotComposition {
    /** Key */
    Key = "key",
    /** KeyLabel */
    KeyLabel = "key_label"
}
/**
 * Defines values for SnapshotComposition. \
 * {@link KnownSnapshotComposition} can be used interchangeably with SnapshotComposition,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **key** \
 * **key_label**
 */
export type SnapshotComposition = string;
/** Known values of {@link LabelFields} that the service accepts. */
export declare enum KnownLabelFields {
    /** Name */
    Name = "name"
}
/**
 * Defines values for LabelFields. \
 * {@link KnownLabelFields} can be used interchangeably with LabelFields,
 *  this enum contains the known values that the service supports.
 * ### Known values supported by the service
 * **name**
 */
export type LabelFields = string;
/** Defines values for State. */
export type State = "NotStarted" | "Running" | "Succeeded" | "Failed" | "Canceled";
/** Optional parameters. */
export interface GetKeysOptionalParams extends coreClient.OperationOptions {
    /** A filter for the name of the returned keys. */
    name?: string;
    /** Instructs the server to return elements that appear after the element referred to by the specified token. */
    after?: string;
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
}
/** Contains response data for the getKeys operation. */
export type GetKeysResponse = AppConfigurationGetKeysHeaders & KeyListResult;
/** Optional parameters. */
export interface CheckKeysOptionalParams extends coreClient.OperationOptions {
    /** A filter for the name of the returned keys. */
    name?: string;
    /** Instructs the server to return elements that appear after the element referred to by the specified token. */
    after?: string;
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
}
/** Contains response data for the checkKeys operation. */
export type CheckKeysResponse = AppConfigurationCheckKeysHeaders;
/** Optional parameters. */
export interface GetKeyValuesOptionalParams extends coreClient.OperationOptions {
    /** Instructs the server to return elements that appear after the element referred to by the specified token. */
    after?: string;
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
    /** A filter used to match keys. Syntax reference: https://aka.ms/azconfig/docs/keyvaluefiltering */
    key?: string;
    /** A filter used to match labels. Syntax reference: https://aka.ms/azconfig/docs/keyvaluefiltering */
    label?: string;
    /** Used to select what fields are present in the returned resource(s). */
    select?: KeyValueFields[];
    /** A filter used get key-values for a snapshot. The value should be the name of the snapshot. Not valid when used with 'key' and 'label' filters. */
    snapshot?: string;
    /** Used to perform an operation only if the targeted resource's etag matches the value provided. */
    ifMatch?: string;
    /** Used to perform an operation only if the targeted resource's etag does not match the value provided. */
    ifNoneMatch?: string;
    /** A filter used to query by tags. Syntax reference: https://aka.ms/azconfig/docs/keyvaluefiltering */
    tags?: string[];
}
/** Contains response data for the getKeyValues operation. */
export type GetKeyValuesResponse = AppConfigurationGetKeyValuesHeaders & KeyValueListResult;
/** Optional parameters. */
export interface CheckKeyValuesOptionalParams extends coreClient.OperationOptions {
    /** Instructs the server to return elements that appear after the element referred to by the specified token. */
    after?: string;
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
    /** A filter used to match keys. Syntax reference: https://aka.ms/azconfig/docs/keyvaluefiltering */
    key?: string;
    /** A filter used to match labels. Syntax reference: https://aka.ms/azconfig/docs/keyvaluefiltering */
    label?: string;
    /** Used to select what fields are present in the returned resource(s). */
    select?: KeyValueFields[];
    /** A filter used get key-values for a snapshot. Not valid when used with 'key' and 'label' filters. */
    snapshot?: string;
    /** Used to perform an operation only if the targeted resource's etag matches the value provided. */
    ifMatch?: string;
    /** Used to perform an operation only if the targeted resource's etag does not match the value provided. */
    ifNoneMatch?: string;
    /** A filter used to query by tags. Syntax reference: https://aka.ms/azconfig/docs/keyvaluefiltering */
    tags?: string[];
}
/** Contains response data for the checkKeyValues operation. */
export type CheckKeyValuesResponse = AppConfigurationCheckKeyValuesHeaders;
/** Optional parameters. */
export interface GetKeyValueOptionalParams extends coreClient.OperationOptions {
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
    /** The label of the key-value to retrieve. */
    label?: string;
    /** Used to select what fields are present in the returned resource(s). */
    select?: KeyValueFields[];
    /** Used to perform an operation only if the targeted resource's etag matches the value provided. */
    ifMatch?: string;
    /** Used to perform an operation only if the targeted resource's etag does not match the value provided. */
    ifNoneMatch?: string;
}
/** Contains response data for the getKeyValue operation. */
export type GetKeyValueResponse = AppConfigurationGetKeyValueHeaders & KeyValue;
/** Optional parameters. */
export interface PutKeyValueOptionalParams extends coreClient.OperationOptions {
    /** The label of the key-value to create. */
    label?: string;
    /** Used to perform an operation only if the targeted resource's etag matches the value provided. */
    ifMatch?: string;
    /** Used to perform an operation only if the targeted resource's etag does not match the value provided. */
    ifNoneMatch?: string;
    /** The key-value to create. */
    entity?: KeyValue;
}
/** Contains response data for the putKeyValue operation. */
export type PutKeyValueResponse = AppConfigurationPutKeyValueHeaders & KeyValue;
/** Optional parameters. */
export interface DeleteKeyValueOptionalParams extends coreClient.OperationOptions {
    /** The label of the key-value to delete. */
    label?: string;
    /** Used to perform an operation only if the targeted resource's etag matches the value provided. */
    ifMatch?: string;
}
/** Contains response data for the deleteKeyValue operation. */
export type DeleteKeyValueResponse = AppConfigurationDeleteKeyValueHeaders & KeyValue;
/** Optional parameters. */
export interface CheckKeyValueOptionalParams extends coreClient.OperationOptions {
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
    /** The label of the key-value to retrieve. */
    label?: string;
    /** Used to select what fields are present in the returned resource(s). */
    select?: KeyValueFields[];
    /** Used to perform an operation only if the targeted resource's etag matches the value provided. */
    ifMatch?: string;
    /** Used to perform an operation only if the targeted resource's etag does not match the value provided. */
    ifNoneMatch?: string;
}
/** Contains response data for the checkKeyValue operation. */
export type CheckKeyValueResponse = AppConfigurationCheckKeyValueHeaders;
/** Optional parameters. */
export interface GetSnapshotsOptionalParams extends coreClient.OperationOptions {
    /** A filter for the name of the returned snapshots. */
    name?: string;
    /** Instructs the server to return elements that appear after the element referred to by the specified token. */
    after?: string;
    /** Used to select what fields are present in the returned resource(s). */
    select?: SnapshotFields[];
    /** Used to filter returned snapshots by their status property. */
    status?: SnapshotStatus[];
}
/** Contains response data for the getSnapshots operation. */
export type GetSnapshotsResponse = AppConfigurationGetSnapshotsHeaders & SnapshotListResult;
/** Optional parameters. */
export interface CheckSnapshotsOptionalParams extends coreClient.OperationOptions {
    /** Instructs the server to return elements that appear after the element referred to by the specified token. */
    after?: string;
}
/** Contains response data for the checkSnapshots operation. */
export type CheckSnapshotsResponse = AppConfigurationCheckSnapshotsHeaders;
/** Optional parameters. */
export interface GetSnapshotOptionalParams extends coreClient.OperationOptions {
    /** Used to perform an operation only if the targeted resource's etag matches the value provided. */
    ifMatch?: string;
    /** Used to perform an operation only if the targeted resource's etag does not match the value provided. */
    ifNoneMatch?: string;
    /** Used to select what fields are present in the returned resource(s). */
    select?: SnapshotFields[];
}
/** Contains response data for the getSnapshot operation. */
export type GetSnapshotResponse = AppConfigurationGetSnapshotHeaders & ConfigurationSnapshot;
/** Optional parameters. */
export interface CreateSnapshotOptionalParams extends coreClient.OperationOptions {
    /** Delay to wait until next poll, in milliseconds. */
    updateIntervalInMs?: number;
    /** A serialized poller which can be used to resume an existing paused Long-Running-Operation. */
    resumeFrom?: string;
}
/** Contains response data for the createSnapshot operation. */
export type CreateSnapshotResponse = AppConfigurationCreateSnapshotHeaders & ConfigurationSnapshot;
/** Optional parameters. */
export interface UpdateSnapshotOptionalParams extends coreClient.OperationOptions {
    /** Used to perform an operation only if the targeted resource's etag matches the value provided. */
    ifMatch?: string;
    /** Used to perform an operation only if the targeted resource's etag does not match the value provided. */
    ifNoneMatch?: string;
}
/** Contains response data for the updateSnapshot operation. */
export type UpdateSnapshotResponse = AppConfigurationUpdateSnapshotHeaders & ConfigurationSnapshot;
/** Optional parameters. */
export interface CheckSnapshotOptionalParams extends coreClient.OperationOptions {
    /** Used to perform an operation only if the targeted resource's etag matches the value provided. */
    ifMatch?: string;
    /** Used to perform an operation only if the targeted resource's etag does not match the value provided. */
    ifNoneMatch?: string;
}
/** Contains response data for the checkSnapshot operation. */
export type CheckSnapshotResponse = AppConfigurationCheckSnapshotHeaders;
/** Optional parameters. */
export interface GetLabelsOptionalParams extends coreClient.OperationOptions {
    /** A filter for the name of the returned labels. */
    name?: string;
    /** Instructs the server to return elements that appear after the element referred to by the specified token. */
    after?: string;
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
    /** Used to select what fields are present in the returned resource(s). */
    select?: LabelFields[];
}
/** Contains response data for the getLabels operation. */
export type GetLabelsResponse = AppConfigurationGetLabelsHeaders & LabelListResult;
/** Optional parameters. */
export interface CheckLabelsOptionalParams extends coreClient.OperationOptions {
    /** A filter for the name of the returned labels. */
    name?: string;
    /** Instructs the server to return elements that appear after the element referred to by the specified token. */
    after?: string;
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
    /** Used to select what fields are present in the returned resource(s). */
    select?: LabelFields[];
}
/** Contains response data for the checkLabels operation. */
export type CheckLabelsResponse = AppConfigurationCheckLabelsHeaders;
/** Optional parameters. */
export interface PutLockOptionalParams extends coreClient.OperationOptions {
    /** The label, if any, of the key-value to lock. */
    label?: string;
    /** Used to perform an operation only if the targeted resource's etag matches the value provided. */
    ifMatch?: string;
    /** Used to perform an operation only if the targeted resource's etag does not match the value provided. */
    ifNoneMatch?: string;
}
/** Contains response data for the putLock operation. */
export type PutLockResponse = AppConfigurationPutLockHeaders & KeyValue;
/** Optional parameters. */
export interface DeleteLockOptionalParams extends coreClient.OperationOptions {
    /** The label, if any, of the key-value to unlock. */
    label?: string;
    /** Used to perform an operation only if the targeted resource's etag matches the value provided. */
    ifMatch?: string;
    /** Used to perform an operation only if the targeted resource's etag does not match the value provided. */
    ifNoneMatch?: string;
}
/** Contains response data for the deleteLock operation. */
export type DeleteLockResponse = AppConfigurationDeleteLockHeaders & KeyValue;
/** Optional parameters. */
export interface GetRevisionsOptionalParams extends coreClient.OperationOptions {
    /** Instructs the server to return elements that appear after the element referred to by the specified token. */
    after?: string;
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
    /** A filter used to match keys. Syntax reference: https://aka.ms/azconfig/docs/restapirevisions */
    key?: string;
    /** A filter used to match labels. Syntax reference: https://aka.ms/azconfig/docs/restapirevisions */
    label?: string;
    /** Used to select what fields are present in the returned resource(s). */
    select?: KeyValueFields[];
    /** A filter used to query by tags. Syntax reference: https://aka.ms/azconfig/docs/restapirevisions */
    tags?: string[];
}
/** Contains response data for the getRevisions operation. */
export type GetRevisionsResponse = AppConfigurationGetRevisionsHeaders & KeyValueListResult;
/** Optional parameters. */
export interface CheckRevisionsOptionalParams extends coreClient.OperationOptions {
    /** Instructs the server to return elements that appear after the element referred to by the specified token. */
    after?: string;
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
    /** A filter used to match keys. Syntax reference: https://aka.ms/azconfig/docs/restapirevisions */
    key?: string;
    /** A filter used to match labels. Syntax reference: https://aka.ms/azconfig/docs/restapirevisions */
    label?: string;
    /** Used to select what fields are present in the returned resource(s). */
    select?: KeyValueFields[];
    /** A filter used to query by tags. Syntax reference: https://aka.ms/azconfig/docs/restapirevisions */
    tags?: string[];
}
/** Contains response data for the checkRevisions operation. */
export type CheckRevisionsResponse = AppConfigurationCheckRevisionsHeaders;
/** Optional parameters. */
export interface GetOperationDetailsOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getOperationDetails operation. */
export type GetOperationDetailsResponse = OperationDetails;
/** Optional parameters. */
export interface GetKeysNextOptionalParams extends coreClient.OperationOptions {
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
}
/** Contains response data for the getKeysNext operation. */
export type GetKeysNextResponse = AppConfigurationGetKeysNextHeaders & KeyListResult;
/** Optional parameters. */
export interface GetKeyValuesNextOptionalParams extends coreClient.OperationOptions {
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
    /** Used to perform an operation only if the targeted resource's etag matches the value provided. */
    ifMatch?: string;
    /** Used to perform an operation only if the targeted resource's etag does not match the value provided. */
    ifNoneMatch?: string;
}
/** Contains response data for the getKeyValuesNext operation. */
export type GetKeyValuesNextResponse = AppConfigurationGetKeyValuesNextHeaders & KeyValueListResult;
/** Optional parameters. */
export interface GetSnapshotsNextOptionalParams extends coreClient.OperationOptions {
}
/** Contains response data for the getSnapshotsNext operation. */
export type GetSnapshotsNextResponse = AppConfigurationGetSnapshotsNextHeaders & SnapshotListResult;
/** Optional parameters. */
export interface GetLabelsNextOptionalParams extends coreClient.OperationOptions {
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
}
/** Contains response data for the getLabelsNext operation. */
export type GetLabelsNextResponse = AppConfigurationGetLabelsNextHeaders & LabelListResult;
/** Optional parameters. */
export interface GetRevisionsNextOptionalParams extends coreClient.OperationOptions {
    /** Requests the server to respond with the state of the resource at the specified time. */
    acceptDatetime?: string;
}
/** Contains response data for the getRevisionsNext operation. */
export type GetRevisionsNextResponse = AppConfigurationGetRevisionsNextHeaders & KeyValueListResult;
/** Optional parameters. */
export interface AppConfigurationOptionalParams extends coreHttpCompat.ExtendedServiceClientOptions {
    /** Used to guarantee real-time consistency between requests. */
    syncToken?: string;
    /** Overrides client endpoint. */
    endpoint?: string;
}
//# sourceMappingURL=index.d.ts.map