export interface CloudResource {
    arn: string;
    service: string;
    type: string;
    id: string;
    name: string;
    region?: string;
    accountId?: string;
    state?: string;
    tags: Record<string, string>;
    metadata: Record<string, string | number | boolean | undefined>;
}
export interface ResourceInventoryResult {
    resources: CloudResource[];
    warnings: string[];
}
export declare function parseResourceArn(arn: string, tags?: Record<string, string>): CloudResource;
export declare function mergeResources(resources: CloudResource[], filter?: string): CloudResource[];
export declare class ResourceInventoryClient {
    private client;
    private profile?;
    private region;
    constructor(profile?: string, region?: string);
    private taggedResources;
    private ec2Resources;
    private rdsResources;
    private lambdaResources;
    private s3Resources;
    discover(options?: {
        type?: string;
    }): Promise<ResourceInventoryResult>;
}
