export interface Filter {
    /** The type of name to filter by. */
    Name?: string;
    /** One or more values for the name to filter by. */
    Values?: any[];
    /** An operator for filtering results. */
    Operator?: 'Equal' | 'NotEqual' | 'Contains';
}
export interface LinuxSubscriptionsDiscoverySettings {
    /** The Regions in which to discover data for Linux subscriptions. */
    SourceRegions: string[];
    /** Details if you have enabled resource discovery across your accounts in Organizations. */
    OrganizationIntegration: 'Enabled' | 'Disabled';
}
export interface DeregisterSubscriptionProviderInput {
    /** The Amazon Resource Name (ARN) of the subscription provider resource to deregister. */
    SubscriptionProviderArn: string;
}
export interface GetRegisteredSubscriptionProviderInput {
    /** The Amazon Resource Name (ARN) of the BYOL registration resource to get details for. */
    SubscriptionProviderArn: string;
}
/** NextToken length limit is half of ddb accepted limit. Increase this limit if parameters in request increases. */
export interface ListLinuxSubscriptionInstancesInput {
    /** An array of structures that you can use to filter the results by your specified criteria. For example, you can specify Region in the Name, with the contains operator to list all subscriptions that mat */
    Filters?: Filter[];
    /** The maximum items to return in a request. */
    MaxResults?: number;
    /** A token to specify where to start paginating. This is the nextToken from a previously truncated response. */
    NextToken?: string;
}
/** NextToken length limit is half of ddb accepted limit. Increase this limit if parameters in request increases. */
export interface ListLinuxSubscriptionsInput {
    /** An array of structures that you can use to filter the results to those that match one or more sets of key-value pairs that you specify. For example, you can filter by the name of Subscription with an  */
    Filters?: Filter[];
    /** The maximum items to return in a request. */
    MaxResults?: number;
    /** A token to specify where to start paginating. This is the nextToken from a previously truncated response. */
    NextToken?: string;
}
export interface ListRegisteredSubscriptionProvidersInput {
    /** The maximum items to return in a request. */
    MaxResults?: number;
    /** A token to specify where to start paginating. This is the nextToken from a previously truncated response. */
    NextToken?: string;
    /** To filter your results, specify which subscription providers to return in the list. */
    SubscriptionProviderSources?: 'RedHat'[];
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource for which to list metadata tags. */
    resourceArn: string;
}
export interface RegisterSubscriptionProviderInput {
    /** The Amazon Resource Name (ARN) of the secret where you've stored your subscription provider's access token. For RHEL subscriptions managed through the Red Hat Subscription Manager (RHSM), the secret c */
    SecretArn: string;
    /** The supported Linux subscription provider to register. */
    SubscriptionProviderSource: 'RedHat';
    /** The metadata tags to assign to your registered Linux subscription provider resource. */
    Tags?: Record<string, string>;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the Amazon Web Services resource to which to add the specified metadata tags. */
    resourceArn: string;
    /** The metadata tags to assign to the Amazon Web Services resource. Tags are formatted as key value pairs. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the Amazon Web Services resource to remove the metadata tags from. */
    resourceArn: string;
    /** A list of metadata tag keys to remove from the requested resource. */
    tagKeys: string[];
}
export interface UpdateServiceSettingsInput {
    /** Describes if the discovery of Linux subscriptions is enabled. */
    LinuxSubscriptionsDiscovery: 'Enabled' | 'Disabled';
    /** The settings defined for Linux subscriptions discovery. The settings include if Organizations integration has been enabled, and which Regions data will be aggregated from. */
    LinuxSubscriptionsDiscoverySettings: LinuxSubscriptionsDiscoverySettings;
    /** Describes if updates are allowed to the service settings for Linux subscriptions. If you allow updates, you can aggregate Linux subscription data in more than one home Region. */
    AllowUpdate?: boolean;
}
/** License Manager Linux Subscriptions service binding for Step Functions SDK integrations. */
export declare class LicenseManagerLinuxSubscriptions {
    constructor();
    deregisterSubscriptionProvider<T>(params: DeregisterSubscriptionProviderInput): Promise<T>;
    getRegisteredSubscriptionProvider<T>(params: GetRegisteredSubscriptionProviderInput): Promise<T>;
    getServiceSettings<T>(params: Record<string, any>): Promise<T>;
    listLinuxSubscriptionInstances<T>(params: ListLinuxSubscriptionInstancesInput): Promise<T>;
    listLinuxSubscriptions<T>(params: ListLinuxSubscriptionsInput): Promise<T>;
    listRegisteredSubscriptionProviders<T>(params: ListRegisteredSubscriptionProvidersInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    registerSubscriptionProvider<T>(params: RegisterSubscriptionProviderInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateServiceSettings<T>(params: UpdateServiceSettingsInput): Promise<T>;
}
//# sourceMappingURL=LicenseManagerLinuxSubscriptions.d.ts.map