import type { IFunctionSourceData } from '../domain';
import type { IFunctionTransformer } from './function.transformer';
export interface IFunctionByAccount {
    name: string;
    accounts: Array<{
        name: string;
        regions: Array<{
            name: string;
            functions: IFunctionSourceData[];
        }>;
    }>;
}
export declare class FunctionReader {
    private functionTransformer;
    static $inject: string[];
    constructor(functionTransformer: IFunctionTransformer);
    loadFunctions(applicationName: string): PromiseLike<IFunctionSourceData[]>;
    getFunctionDetails(cloudProvider: string, account: string, region: string, name: string): PromiseLike<IFunctionSourceData[]>;
    listFunctions(cloudProvider: string): PromiseLike<IFunctionByAccount[]>;
    private normalizeFunction;
}
export declare const FUNCTION_READ_SERVICE = "spinnaker.core.function.read.service";
